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

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

Многопоточность в Python позволяет выполнять несколько задач параллельно, что особенно полезно для I/O-bound операций (сеть, файлы), где потоки могут работать, пока один ожидает. Однако из-за GIL (Global Interpreter Lock) настоящая параллельность 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()

Для CPU-bound задач:

python
from multiprocessing import Process

def heavy_computation():
    print("Вычисление...")

if __name__ == '__main__':
    p = Process(target=heavy_computation)
    p.start()
    p.join()

Итог: потоки — для I/O, процессы — для CPU. GIL ограничивает потоки в Python.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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