std.concurrent Tid vector initialization problem
Ali Çehreli via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Jun 27 18:05:43 PDT 2015
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
More information about the Digitalmars-d-learn
mailing list