具有多处理和多线程的工作调度器。
burncpu的Python项目详细描述
模块burncpu是一个具有多处理和多线程的工作调度器。
功能
- 所有的CPU核心都可以使用。
- 工人可以通过系统信号优雅地停止工作。
- 纯python代码。
快速启动
使用以下命令运行示例模块。
python3 -m burncpu.sample
然后监视CPU状态,此时会发生一些更改。
Time | Events |
---|---|
0s | All CPU cores are IDLE. |
10s | Workers begin to call one_second_task many times. |
60s | Workers begin to terminate. |
按ctrl+c或发送系统信号也可以终止采样。
最后,复制并修改source code以创建自己的。
参考
导入
fromburncpu.dispatcherimportWorkerDispatcher
班工调度员
WorkerDispatcher.\uu init(工人计数=0,使用核心=0,时间限制=0)
创建Dispatcher Instace。
- 工人计数
- 将创建多少线程,0表示创建(使用_core*2)线程。
- 使用核心
- 将使用多少个核心,0表示所有核心。
- 时间限制
- 在给定的秒数后停止工作。此时运行函数仍在运行。 排队的函数将被取消。
工作调度员调度(func,args)
随机分配一个函数给其中一个工人。
- 函数
- 要调用的函数。
- 参数
- 此函数的参数列表。
工人调度员。睡眠(秒)
在给定的时间内睡眠调度器。
- 秒
- 睡眠时间。调度程序实际上不会在给定的秒数内睡眠。 它在给定的时间内睡眠多次,以便可以处理系统信号(如ctrl+c)。
workerDispatcher.join()
等到所有工人都停下来。
WorkerDispatcher.is_alive()
检查调度程序是否处于活动状态。