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

С чем в Python связана работа разных потоков\

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

Пример с потоками:

python
import threading
import time

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

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

for t in threads:
    t.join()

Ключевые моменты:

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

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

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

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