Questions tagged [rtl-ppl]

The Parallel Programming Library (PPL) is a component of the Delphi Run-Time Library which enables applications to run tasks in parallel on a thread pool without the need for individual thread management. It is suitable for use with both Delphi and C++ in RadStudio.

The RTL provides the Parallel Programming Library (PPL), which enables applications to run tasks in parallel, taking advantage of working across multiple CPU devices and computers. The PPL includes a number of advanced features for running tasks, joining tasks, waiting on groups of tasks to process, and so forth. For all of this, there is a thread pool that self-tunes based on the load on the CPUs, removing the need to creating or manage threads for this purpose.

3 questions
19
votes
1 answer

Strange behaviour of TParallel.For default ThreadPool

I am trying out the Parallel Programming features of Delphi XE7 Update 1. I created a simple TParallel.For loop that basically does some bogus operations to pass the time. I launched the program on a 36 vCPU at an AWS instance (c4.8xlarge) to try to…
Pep
  • 1,957
  • 2
  • 24
  • 40
7
votes
1 answer

How can I use TTask.WaitForAny from the new threading library?

In an attempt to use the threading library in Delphi to calculate tasks in parallel and using TTask.WaitForAny() to get the first calculated result, an exception occationally stopped the execution. Call stack at the exception: First chance…
Jimmy Dean
  • 153
  • 2
  • 7
0
votes
1 answer

How is a Future used with Delphi XE7 Parallel Library

I have some code that I'm trying to parallelize with Delphi's 7 Parallel Library. The routine I would like to parallelize adds a TObject to a TStringList when certain conditions are met in the routine. I suppose that will mean that I need to…
Pep
  • 1,957
  • 2
  • 24
  • 40