Thread pool


Thread pool is a Software design pattern for achieving concurrency of execution in an Application.

Thread pool, often also called a replicated workers or worker-crew model, maintains multiple threads waiting for tasks to be allocated for concurrent execution by the supervising Application. By maintaining a Thread pool, the model increases performance and avoids latency in execution due to frequent creation and destruction of threads for short-lived tasks.

Thread pool typically the number of available threads is tuned to the computing resources available to the program, such as parallel processors, CPU cores, memory, and network sockets.

A common method of scheduling tasks for thread execution is a synchronized queue, known as a task queue. The worker threads in the Thread pool remove waiting tasks from the queue, and place them into a completed task queue after completion of execution.

Thread pool Threads#

As with most thread pools there are different classifications of threads:

tasks are entities waiting on a thread and there are different classifications of tasks as:

More Information#

There might be more information for this subject on one of the following: