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

Как ОС работает с потоками

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

Пример создания потока:

python
import threading

def worker():
    print("Поток запущен")

thread = threading.Thread(target=worker)
thread.start()
thread.join()

Нюансы:

  1. GIL ограничивает производительность для CPU-задач
  2. Потоки подходят для I/O-bound задач (сеть, файлы)
  3. Общие данные требуют синхронизации (Lock, RLock)
  4. Демонические потоки (daemon=True) завершаются с главным потоком

Для настоящего параллелизма CPU-задач лучше использовать multiprocessing.

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

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

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

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