On 06/27/2015 06:00 PM, Charles Hixson via Digitalmars-d-learn wrote:
I'm planning an application where a series of threads each need to be
aware of the Tids of all the others.  The number won't be known at
compile time, but that doesn't seem to change the design.

All I've been able to come up with is a pair of loops, one to spawn the
threads, and collect their Tids, and a second for each one to send its
Tid to all the others.  receive doesn't seem to want to work with shared
Tids.  My original design was to have a file level shared array of Tids,
but receive (or possibly send) objected to attempts to use them.  They
aren't known until they've been spawned, so I can't pass them as spawn
parameters.  Etc.

This seems like a very clumsy initialization design.  Does anyone have a
better idea?

(The rough estimate of the number of Tids is six, but that's likely to
change from run to run.)

register(), unregister(), and locate() may be useful:

  http://dlang.org/phobos/std_concurrency.html#.register

I have a short example in the "Thread names" section here:

  http://ddili.org/ders/d.en/concurrency.html

Ali

Reply via email to