Thread pools

Chris via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jul 22 08:51:22 PDT 2015


On Wednesday, 22 July 2015 at 15:41:06 UTC, Alex Parrill wrote:
> On Wednesday, 22 July 2015 at 14:28:48 UTC, Chris wrote:
>> What would be the best way to manage different threads 
>> (spawned via std.concurrency), e.g. to tell them to stop at 
>> once, once a new command comes in? A thread pool? How would 
>> that look like in D? I feel my knowledge of D threads is still 
>> a bit limited.
>
> `std.parallelism` includes a TaskPool class [1] and a taskPool 
> property [2], but they spawn their own threads.
>
> I'm not sure why you need a thread pool to tell std.concurrency 
> threads to stop; why not send a stop message to each of them?
>
> [1]: http://dlang.org/phobos/std_parallelism.html#.TaskPool
> [2]: http://dlang.org/phobos/std_parallelism.html#.taskPool

Thanks. I'm dealing with "nested" threads at the moment.

main
{
   spawn(thread1)
   {
     // Does some processing
     spawn(thread2)
     {
       // Plays audio
     }
   }
}

If main receives a signal, all threads should stop immediately 
(thread1 and thread2).


More information about the Digitalmars-d-learn mailing list