普贤教程 › 包参考
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_new | size |
wp_run | pool, fns, args |
wp_close | pool |
其余 5 个 def(内部与辅助,可直接调用但不属稳定接口)
| 函数 | 参数 |
|---|---|
wp_worker | pool |
wp_sorted | results |
wp_size | pool |
wp_is_closed | pool |
wp_results | pool |
包内说明(源码头注释)
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),调用方保证类型一致。 ============================================================