Встречается на 1% собеседований по Python
Какая особенность параллельности в Python
В Python существует GIL (Global Interpreter Lock) — глобальная блокировка интерпретатора, которая позволяет выполняться только одному потоку за раз, даже в многопоточных приложениях. Это ограничивает параллельность в CPU-задачах, но не мешает в I/O-операциях. Для настоящего параллелизма лучше использовать модули multiprocessing или concurrent.futures.
Пример с потоками (GIL ограничивает CPU-работу):
python
import threading
def count():
for _ in range(1_000_000):
pass
threads = [threading.Thread(target=count) for _ in range(4)]
for t in threads:
t.start()
for t in threads:
t.join()Пример с процессами (обходит GIL):
python
from multiprocessing import Process
def count():
for _ in range(1_000_000):
pass
processes = [Process(target=count) for _ in range(4)]
for p in processes:
p.start()
for p in processes:
p.join()Для асинхронного I/O подходит asyncio.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы