The example given at wikipedia makes it obvious that this isn't true.
Coroutines are inherently stateful. Managing that by hand using wait 0 ticks
with messages is a disaster. I've done it.

As one brief example, suppose you have two lists that need to be processed
simultaneously. With coroutines you could use repeat for each line L in
whatever for each of the routines. With wait 0 ticks you would have to break
both lists up into arrays ahead of time or otherwise pay the performance
penalty.

Yes, threading and coroutines are not the same things. There are advantages
to threads, but as has already been pointed out, there are significant
disadvantages as well. Coroutines would enable many techniques that today
are awkward or impossible, with seemingly minimal muss and fuss.

gc



On Fri, Jan 28, 2011 at 1:16 AM, Jeffrey Massung <mass...@gmail.com> wrote:

>
> On Jan 27, 2011, at 10:54 PM, Geoff Canyon Rev wrote:
>
> > I'd suggest coroutines: http://en.wikipedia.org/wiki/Coroutine
> >
> > They have the advantage of being fairly similar to what some of us have
> done
> > already with send.in to get this sort of behavior, and probably wouldn't
> > break existing syntax.
>
>
> Coroutines have absolutely no advantage over what's already provided by LC.
> There's zero difference between saying "yield()" and "wait 0 ticks with
> messages".
>
> The purpose of mutli-threading is to take advantage of one or more of the
> following: a completely separate hardware thread (program/code runs 100% in
> parallel with another program/set of code - the only bottlenecks being
> memory and I/O) or preemptive threading, typically by way of hyper-threading
> on a single hardware thread (basically letting the hardware or OS decide
> when to context switch for you).
>
> Sorry. :-(
>
> Jeff M.
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode@lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to