Встречается на собеседованиях • сегодня

На чем основана многопоточность (multithreading) в Python

В Python многопоточность основана на модуле threading, но из-за Global Interpreter Lock (GIL) настоящий параллелизм потоков невозможен. GIL позволяет выполняться только одному потоку за раз, даже на многоядерных процессорах.

Когда полезно:

  • I/O-bound задачи (сеть, файлы), где потоки могут ждать и освобождать GIL.
  • Не подходит для CPU-bound задач (вычисления), тут лучше multiprocessing.

Пример:

python
import threading

def task():
    print("Поток выполняется")

threads = []
for _ in range(5):
    t = threading.Thread(target=task)
    threads.append(t)
    t.start()

for t in threads:
    t.join()

Альтернативы:

  • asyncio для асинхронного I/O.
  • multiprocessing для CPU-bound задач.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы