Встречается на собеседованиях • сегодня
Расскажи про опыт multithreading
В Python multithreading реализован через модуль threading. Однако из-за GIL (Global Interpreter Lock) потоки выполняются не совсем параллельно, а переключаются между собой, что полезно для I/O-bound задач, но не для CPU-bound.
Пример использования:
python
import threading
def worker(num):
print(f"Worker {num} started")
# I/O операция
time.sleep(1)
print(f"Worker {num} finished")
threads = []
for i in range(3):
t = threading.Thread(target=worker, args=(i,))
threads.append(t)
t.start()
for t in threads:
t.join()Для CPU-bound задач лучше использовать multiprocessing. В threading есть примитивы синхронизации: Lock, RLock, Semaphore, Event. Также есть ThreadPoolExecutor из concurrent.futures для удобного управления пулом потоков.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы