Встречается на собеседованиях • сегодня
Как реализовать многопоточность
В Python многопоточность реализуется через модуль threading. Однако из-за GIL (Global Interpreter Lock) потоки эффективны только для I/O-bound задач. Для CPU-bound задач лучше использовать multiprocessing.
Пример с threading:
python
import threading
def worker(num):
print(f"Поток {num} запущен")
threads = []
for i in range(5):
t = threading.Thread(target=worker, args=(i,))
threads.append(t)
t.start()
for t in threads:
t.join()
text
Для пула потоков можно использовать `ThreadPoolExecutor`:
```python
from concurrent.futures import ThreadPoolExecutor
def task(n):
return n * n
with ThreadPoolExecutor(max_workers=3) as executor:
results = executor.map(task, [1, 2, 3])
print(list(results)) # [1, 4, 9]Важные моменты:
- Потоки разделяют память, но требуют синхронизации (Lock, RLock)
- GIL ограничивает параллельное выполнение Python-кода
- Для CPU-bound задач используйте
multiprocessing - Остерегайтесь race conditions и deadlocks

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