Junior — Middle
When and in which scenarios is it necessary to use multithreading in Python?
sobes.tech AI
Answer from AI
Multithreading in Python is useful when you need to perform multiple tasks simultaneously, especially if they involve input/output (I/O), such as network requests, file handling, or database operations. Due to the Global Interpreter Lock (GIL), multithreading in Python is inefficient for CPU-intensive tasks — in such cases, multiprocessing is preferable.
Examples of scenarios for multithreading:
- Handling multiple network connections at once.
- Parallel reading and writing of files.
- Running background tasks that do not block the main thread.
Example of using threading:
import threading
import time
def worker(name):
print(f"Thread {name} started")
time.sleep(2)
print(f"Thread {name} finished")
threads = []
for i in range(3):
t = threading.Thread(target=worker, args=(f'Thread-{i}',))
threads.append(t)
t.start()
for t in threads:
t.join()