Hi Scott, If you haven't done so already, you might want to have a look at: http://www.macruby.org/documentation/gcd.html
it speaks of MacRuby integrating Apple's latest multi-threading strategy: Grand Central Dispatch. 2010/8/10 Scott Thompson <ea...@mac.com> > I recently had a discussion on a separate list about Coroutines and > Cooperative Multitasking on Mac OS X. The general result of that discussion > was that the "best" solutions were to either rely on the (deprecated) Carbon > Thread Manager, use a more complex scheme involving pthreads and semaphores > to emulate cooperative multitasking, or look at a third party library which > uses hand-rolled assembly to replace the (deprecated, non-POSIX) > makecontext, swapcontext and friends. > > In the course of that discussion, I looked to see how MacRuby might be > implementing Fibers (which is a coroutines mechanism similar to the one I > was looking for) and found that, at the moment, it doesn't. The Fiber code > is commented out (at least in the few places in the source I looked at). > > Have you given some thought as to how that feature might be implemented? > > I suppose with the Ruby interpreter that the "co-routine" might be handled > using internal features of the interpreter itself (the "green threads", > fabled in song and story). At the same time, it seems like all the work > that went into improving Ruby's threading system as implemented by MacRuby > might have made it harder to use the "green threads". > > I'm more curious than anything else, but has someone thought of a clever > way to handle cooperative multitasking in MacRuby? > > Scott > > _______________________________________________ > MacRuby-devel mailing list > MacRuby-devel@lists.macosforge.org > http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel >
_______________________________________________ MacRuby-devel mailing list MacRuby-devel@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel