Junior — Middle
What methods are used in Python for parallel task processing using threads?
sobes.tech AI
Answer from AI
In Python, parallel processing using threads is usually implemented through the threading module and concurrent.futures.ThreadPoolExecutor.
threadingallows creating and managing threads manually but requires handling synchronization and state management.concurrent.futures.ThreadPoolExecutorprovides a more convenient interface for running tasks in a thread pool, simplifying parallelism.
It is important to remember that due to the GIL (Global Interpreter Lock) in CPython, threads are effective for I/O-bound tasks but not for CPU-intensive tasks.
Example with ThreadPoolExecutor:
from concurrent.futures import ThreadPoolExecutor
import time
def task(n):
print(f"Task {n} started")
time.sleep(1)
print(f"Task {n} completed")
with ThreadPoolExecutor(max_workers=3) as executor:
for i in range(5):
executor.submit(task, i)
This code runs 5 tasks in parallel with a maximum of 3 threads.