/
IT-Legion
/
examples
Обзор
Документация
Войти
/
IT-Legion
/
examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
cpu_bound_task.py
33 строки
1 KB
Перевозников Сергей Николаевич
create cpu_bound_task.py
07 янв 2026, 05:13
07 янв 2026, 05:13
288d3a8
Код
Авторство
О чём код?
import concurrent.futures import time from datetime import datetime def cpu_bound_task(number): """ Функция выполняется в каждом процессе. Выполняет вычисления, интенсивно использующие CPU. :param number: номер процесса """ start_time = time.time() print(f"Процесс {number} запущен в {datetime.now().strftime('%H:%M:%S')}") result = 1 # Вычисляем факториал большого числа for i in range(1, 10**6): result *= i end_time = time.time() elapsed_time = end_time - start_time print(f"Процесс {number} завершил работу в {datetime.now().strftime('%H:%M:%S')} " f"(затрачено: {elapsed_time:.2f} сек)") if __name__ == "__main__": num_processes = 4 # Количество процессов start_all = time.time() # Время начала всего запуска with concurrent.futures.ProcessPoolExecutor(max_workers=num_processes) as executor: executor.map(cpu_bound_task, range(num_processes)) # Запускаем задания параллельно end_all = time.time() total_time = end_all - start_all print(f"Все процессы завершены.\nОбщее время выполнения: {total_time:.2f} секунд")