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

Расскажи про потоки в Python

В Python потоки реализуются через модуль threading. Они позволяют выполнять задачи параллельно, но из-за GIL (Global Interpreter Lock) настоящая параллельность возможна только для I/O-bound задач, а не CPU-bound.

Основные моменты:

  • Создание потока: thread = threading.Thread(target=функция, args=(аргументы,))
  • Запуск: thread.start()
  • Ожидание завершения: thread.join()

Пример:

python
import threading
import time

def task(name):
    print(f"Поток {name} начал работу")
    time.sleep(2)
    print(f"Поток {name} завершил работу")

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

for t in threads:
    t.join()

Особенности:

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

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

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

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