[MacRuby-devel] Fibers and Enumerators

macruby at djc.net macruby at djc.net
Fri Aug 13 10:43:41 PDT 2010


Thanks for the example easco.
While perhaps academic, it reminds me of rails ActiveRecord scopes ... which 
are not so academic (and working on a finite set of data of course, but there 
are similarities).

Ernie is correct: a GCD setup could mimic exactly what one wants to do in this 
case ... but, very important: has the hope of centralizing control over actual 
concurrency, which means the entire system as a whole is most likely (or has 
the hope of being) better off.

... which leads us back to the sticky point: the code would be different, and 
would require a rewrite. However, I am still leaning towards: this is a small 
portion of [any] code, perhaps not unlike the modifications one must do moving 
from
Ruby 1.8 + scripting bridge => MacRuby

-Daniel


On Fri, 13 Aug 2010 10:15:35 -0700
  "Ernest N. Prabhakar, Ph.D." <prabhaka at apple.com> wrote:
> Hi Easco,
> 
> On Aug 13, 2010, at 8:15 AM, easco wrote:
>> Instead I was curious to know if there was "a plan" for implementing Fibers 
>>and if so, I was curious to know what operating system technology they would 
>>be built on.  It appears that the problem has not been looked at, in-depth, 
>>yet and I am satisfied with that.  Nor does it appear that there is any OS 
>>level technology that would particularly support the creation of Fibers (i.e. 
>>Mac OS X doesn't really have any built-in support for cooperatively scheduled 
>>multitasking... outside of deprecated technologies like the Carbon Thread 
>>Manager and makecontext/swapcontext).
> 
> Actually, I'm confused by that statement. My understanding is that 
>cooperatively scheduled threads is a just a subset of the system-scheduled 
>model.
> 
> In particular, I'm pretty sure you can emulate them on top of GCD using 
>semaphores.  Should I explain further, or did you already consider that and 
>discover it was unworkable?
> 
> -- Ernie P.
> 
> 
> 
> 
> _______________________________________________
> MacRuby-devel mailing list
> MacRuby-devel at lists.macosforge.org
> http://lists.macosforge.org/mailman/listinfo.cgi/macruby-devel



More information about the MacRuby-devel mailing list