Встречается на собеседованиях • сегодня

Какими модулями реализуется многопоточность в Python

В Python многопоточность реализуется с помощью модуля threading. Однако из-за GIL (Global Interpreter Lock) потоки выполняются не совсем параллельно, а переключаются между собой, что полезно для I/O-bound задач.

Для CPU-bound задач лучше использовать multiprocessing, который создает отдельные процессы с собственным GIL.

Также есть concurrent.futures, предоставляющий высокоуровневый интерфейс для пула потоков (ThreadPoolExecutor) и процессов (ProcessPoolExecutor).

Пример с threading:

python
import threading

def worker():
    print("Thread working")

thread = threading.Thread(target=worker)
thread.start()
thread.join()

Пример с concurrent.futures:

python
from concurrent.futures import ThreadPoolExecutor

with ThreadPoolExecutor(max_workers=3) as executor:
    executor.submit(lambda: print("Task done"))
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы