Safe & Performant Inter-Thread Message Passing

deadalnix deadalnix at gmail.com
Tue Feb 18 13:21:53 PST 2014


On Tuesday, 18 February 2014 at 21:05:38 UTC, Nordlöw wrote:
> What's the best solution to communicate between threads in D 
> today if I care about
>
> 1. Security & Correctness?
> 2. Performance?
>
> and are these mutually exclusive?
>
> Does Phobos or other library contain lockfree queues?
>
> From what I can see std.concurrent.MessageBox requires 
> Mutex-locking. Is this really needed or can it be enhanced to 
> support lockfree communication similar to what Boost.Lockfree 
> does?

In its current implementation, it uses mutexes (or did last time
I checked). However, this isn't required.

I wanted to implement something a while ago, but was stopped by
the fact that DMD doesn't implement shared as per spec (ensure
sequential consistency). It is still possible to do with
primitives for concurrency available in the runtime.

If you plan to submit a pull request, I'll be happy to review.


More information about the Digitalmars-d mailing list