Встречается на 2% собеседований по Python
Какими модулями реализуется многопоточность в 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"))
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы