std.parallelism changes done
Michel Fortin
michel.fortin at michelf.com
Thu Mar 24 05:03:26 PDT 2011
On 2011-03-24 03:00:01 -0400, Sönke Ludwig
<ludwig at informatik.uni-luebeck.de> said:
> Am 24.03.2011 05:32, schrieb dsimcha:
>> In addition to improving the documentation, I added
>> Task.executeInNewThread() to allow Task to be useful without a TaskPool.
>> (Should this have a less verbose name?)
>
> The threading system I designed for the company I work for uses
> priority per task to control which tasks can overtake others. A special
> priority is out-of-bands (the name my be debatable), which will
> guarantee that the task will run in its own thread so it can safely
> wait for other tasks. However, those threads that process OOB tasks are
> also cached in the thread pool and reused for new OOB tasks. Only if
> the number of parallel OOB tasks goes over a specific number, new
> threads will be created and destroyed. This can safe quite a bit of
> time for those tasks.
>
> Both kinds of priority have been very useful and I would suggest to put
> at least the executeInNewThread() method into ThreadPool to be later
> able to make such an optimization.
>
> The task priority thing in general may only be necessary for complex
> applications with user interaction, where you have to statisfy certain
> interactivity needs. I wouldn't be too sad if this is not implemented
> now, but it would be good to keep it in mind as a possible improvement
> for later.
Do you think having multiple task pools each with a different thread
priority would do the trick? Simply put tasks in the task pool with the
right priority... I had a similar use case in mind and this is what I
proposed in the previous discussion.
--
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/
More information about the Digitalmars-d
mailing list