具有多处理和多线程的工作调度器。

burncpu的Python项目详细描述


模块burncpu是一个具有多处理和多线程的工作调度器。

功能

  • 所有的CPU核心都可以使用。
  • 工人可以通过系统信号优雅地停止工作。
  • 纯python代码。

快速启动

使用以下命令运行示例模块。

python3 -m burncpu.sample

然后监视CPU状态,此时会发生一些更改。

TimeEvents
0sAll CPU cores are IDLE.
10sWorkers begin to call one_second_task many times.
60sWorkers 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()

检查调度程序是否处于活动状态。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException