Parallel Programming Library: Create Responsive Apps with Tasks, Futures and Parallel Loops must be the longest title I ever used for a session. I hope you found this introduction into parallel programming with the new TTask, TTask.Future en TParallel.For loop useful.
The replays of this and other sessions of Coderage 9 are now available on YouTube here:
https://youtu.be/rZfux4by0po?list=PLwUPJvR9mZHhgQYWWgF6BCkgDwIpP78ZV
Source code for this session is available here:
DelphiParallelLibrary_CreateResponsiveApps_DannyWind
As a last minute note: when using Synchronize inside a TTask.Run AND using TTask.WaitForAll from the main thread there is potential for deadlock as they will then wait for each other. Although it is safe to use Synchronize inside a Task if you only use WaitForAll from inside Task.Run, as demonstrated in the example TaskChaining, it is often better to use TThread.Queue, which doesn’t halt the thread it’s called from and is therefore generally safer.