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

Что такое многопоточность в Python

Многопоточность в Python — это выполнение нескольких потоков в рамках одного процесса, где потоки делят общее пространство памяти. Однако из-за GIL (Global Interpreter Lock) в CPython только один поток исполняет байткод одновременно, что ограничивает параллелизм для CPU-задач. Потоки полезны для I/O-bound задач (сетевые запросы, чтение файлов), где ожидание освобождает GIL.

Пример:

python
import threading

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

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

for t in threads:
    t.join()

Нюансы:

  • GIL ограничивает CPU-параллелизм
  • Общая память требует синхронизации (Lock, RLock)
  • Для CPU-bound задач лучше использовать multiprocessing
  • Потоки легче процессов, но не дают истинного параллелизма в Python
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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