Встречается на собеседованиях • сегодня
Так ли это, что нельзя получить параллельность потоков в Python
В Python действительно есть ограничения на параллельность потоков из-за Global Interpreter Lock (GIL). GIL позволяет выполняться только одному потоку Python в один момент времени, даже на многоядерных системах. Однако это не значит, что потоки бесполезны:
- I/O-bound задачи – потоки эффективны, так как GIL освобождается во время ожидания ввода-вывода (сеть, файлы и т.д.).
- CPU-bound задачи – для истинной параллельности лучше использовать
multiprocessing, так как процессы имеют свои собственные GIL.
Пример с потоками (I/O-bound):
python
import threading
import time
def task():
time.sleep(1) # Имитация I/O операции
print("Done")
threads = [threading.Thread(target=task) for _ in range(5)]
for t in threads:
t.start()
for t in threads:
t.join()Для CPU-bound задач используйте multiprocessing. GIL — это компромисс для упрощения работы с памятью и C-расширениями.

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