Встречается на собеседованиях • сегодня
Что знаешь о работе с высокоуровневыми абстракциями, такими как пулы задач
В Python для работы с высокоуровневыми абстракциями, такими как пулы задач, часто используют модуль concurrent.futures. Он предоставляет интерфейсы ThreadPoolExecutor и ProcessPoolExecutor для параллельного выполнения задач в потоках или процессах.
Пример использования ThreadPoolExecutor:
python
from concurrent.futures import ThreadPoolExecutor
def task(n):
return n * n
with ThreadPoolExecutor(max_workers=3) as executor:
futures = [executor.submit(task, i) for i in range(5)]
results = [f.result() for f in futures]
print(results) # [0, 1, 4, 9, 16]
text
Ключевые особенности:
- Автоматическое управление пулом потоков/процессов.
- Возможность асинхронного ожидания через `as_completed()`.
- Поддержка контекстного менеджера для корректного завершения.
Для более сложных сценариев можно использовать `multiprocessing.Pool` или асинхронные подходы (`asyncio`).
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы