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

Работал ли с многопоточностью

Да, работал. В Python для многопоточности используется модуль threading. Основные моменты:

  1. GIL (Global Interpreter Lock) ограничивает параллельное выполнение кода в потоках, поэтому потоки эффективны для I/O-bound задач, но не для CPU-bound.
  2. Для CPU-bound задач лучше использовать multiprocessing.

Пример с threading:

python
import threading

def task(name):
    print(f"Thread {name} started")

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:

python
lock = threading.Lock()
with lock:
    # Критическая секция

Также знаком с concurrent.futures.ThreadPoolExecutor для управления пулом потоков.

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

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

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

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