Встречается на собеседованиях • сегодня
Какими модулями реализуется многопоточность в 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
интервью вопросы и ответы