Fibers and inp()/outp() in Tango

Ingo Oeser ioe-news at rameria.de
Fri Aug 17 11:24:28 PDT 2007


Sean Kelly wrote:
> Well, the reason for adding Fibers to Tango was partially for its
> ability to encapsulate state and make it transferable across threads.
> Also, using fibers can eliminate the need for mutexes, which is a nice
> perk.  

Ok.

> Perhaps most importantly is that the schedulers for some 
> concurrency models like having fibers available to provide more
> multiplexing options.  Mik's DCSP uses them, for example.

Without convincing numbers in systems I care about (e.g. a current Linux)
this is just a academic fluff for me.

>> BTW: I see Unix signal handling is widely ignored in tango, is that true?
>>         I can imagine why.
> 
> Tango uses signals to coordinate garbage collection, but that's about
> it.  I think signals are quite useful in some instances, but they're too
> limited and too expensive to be a general-purpose tool.

Yes, but they need to be considered in the threading design AFAIK. I can dig
out more details, if you like. But I still don't know exactly, how threading
in D and Tango is supposed to behave in the presence of signal (e.g. : Which
thread get which signals?).

BTW: I noticed in horror, that tango.sys.Process doesn't provide fork.
        You cannot do this to the Unix guys :-)

Best Regards

Ingo Oeser



More information about the Digitalmars-d mailing list