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

Какие особенности работы с многопоточностью

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

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

python
import threading

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

threads = []
for _ in range(5):
t = threading.Thread(target=task)
t.start()
threads.append(t)

for t in threads:
t.join()

text

**Особенности:**  
- Потоки делят память, что требует синхронизации (`Lock`, `RLock`).  
- GIL ограничивает параллелизм CPU-операций.  
- Для CPU-bound задач лучше использовать `multiprocessing`.  
- Асинхронность (`asyncio`) эффективнее для I/O-bound задач.  

**Осторожно:**  
- Гонки данных (race conditions).  
- Deadlocks при неправильной блокировке.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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