[MacRuby-devel] Fibers and Enumerators

Ernest N. Prabhakar, Ph.D. prabhaka at apple.com
Wed Aug 11 06:06:16 PDT 2010


Hi Scott,

On Aug 11, 2010, at 5:23 AM, Louis-Philippe wrote:
> 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.

I might also humbly suggest the Dispatch documentation:

http://github.com/masterkain/macruby/tree/master/lib/dispatch/

:-)
E




> 
> 2010/8/10 Scott Thompson <easco at 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 at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel
> 
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-devel/attachments/20100811/62aa300d/attachment.html>


More information about the MacRuby-devel mailing list