px普贤教程PuXian
普贤教程 › 包参考

workerpool 包

协程任务池

⚠️ 含并发(spawn/chan)—— 必须编译模式运行(px build);

项值
包名workerpool
版本0.2.0
可用版本0.1.0 / 0.2.0
入口workerpool.px
分类并发与通用模式
文件数 / 行数1 / 94

安装与引入

bash
pxpkg init          # 首次
pxpkg add workerpool@0.2.0
pxpkg install
px
import workerpool
所属分类教程:并发与通用模式

公开接口

函数参数
wp_newsize
wp_runpool, fns, args
wp_closepool
其余 5 个 def(内部与辅助,可直接调用但不属稳定接口)
函数参数
wp_workerpool
wp_sortedresults
wp_sizepool
wp_is_closedpool
wp_resultspool

包内说明(源码头注释)

text
============================================================
普贤生态库:registry/workerpool —— 协程任务池
------------------------------------------------------------
⚠️ 含并发(spawn/chan)—— 必须编译模式运行(px build);
解释器 px run 是 Mini 子集,无并发(会报"interp 不支持通道")。
var pool = wp_new(4)                    # 启动 4 个 worker
var r = wp_run(pool, fns, args)         # 同步提交并等待全部完成
fns  = [fn (x): ...]  args = [...]   # 任务函数 + 参数
r.unwrap()["results"] → [{"id", "res"}, ...](完成序,按 id 复原)
wp_close(pool)                          # 优雅停止所有 worker
并发模型:共享任务队列 chan + N 个 spawn worker;结果经结果通道收集。
任务函数为普通函数值(fn (arg) -> result),调用方保证类型一致。
============================================================