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