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

Что знаешь про потоки в Python

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

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

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

Пример:

python
import threading

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

thread = threading.Thread(target=task)
thread.start()
thread.join()  # Ожидание завершения

Синхронизация:
Используйте Lock, RLock, Semaphore для избежания race conditions:

python
lock = threading.Lock()

with lock:
    # Критическая секция
    shared_data += 1

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

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

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

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

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