On 4/02/11 11:44 PM, Sean Kelly wrote:
Peter Alexander Wrote:

How would you do it with message passing though? As I understand, all of
the std.concurrency message passing routines are blocking, and I need
this to be asynchronous.

What do you mean by blocking?  The receive call will block until a message 
matching one of the supplied types arrives, but if you don't like this you can 
always use receiveTimeout.  send() doesn't deep copy objects, so the only 
reference types send() will currently accept are those labeled as shared or 
immutable (Unique!T will probably be added at some point, which is more 
appropriate for your situation).  So to use send() known unique reference data 
you'll have to cast to/from shared or immutable.  Nasty, but it'll work.

That's what I meant by blocking (receive).

Is using receiveTimeout with a timeout of 0 seconds the D-way of asynchronous message passing? (seems a bit hacky to me).

Thanks for your reply.

Reply via email to