pond:Go语言编写的简约高性能goroutine工作池

时间:2024-05-03 19:14:50
【文件属性】:

文件名称:pond:Go语言编写的简约高性能goroutine工作池

文件大小:177KB

文件格式:ZIP

更新时间:2024-05-03 19:14:50

go golang high-performance concurrency pond

池塘 Go语言编写的简约高性能goroutine工作池 动机 该库旨在提供一种在有限的资源或服务上执行某些功能时限制并发性的简单方法。 一些常见的方案包括: 对编号为有限的数据库执行查询。 连接数 将HTTP请求发送到速率/并发限制的API 特征: 零依赖 创建具有固定大小或动态大小的池 Worker goroutine仅在需要时创建(背压检测),并在空闲一段时间后自动清除(可配置) 简约的API,可用于: 创建具有固定大小或动态大小的工作池 以一劳永逸的方式将任务提交到池中 将任务提交到池中并等待它们完成 在截止日期之前将任务提交到池中 提交一组相关任务并等待它们完成 获取正在运行的工人(goroutines)的数量 停止工人池 正常处理任务紧急情况(可配置紧急情况处理程序) 支持非阻塞和阻塞任务提交模式(缓冲/非缓冲) 在繁重的工作负载下具有很高的性能和有效的资源使用率,


【文件预览】:
pond-master
----.gitignore(192B)
----README.md(9KB)
----pond.go(11KB)
----pond_blackbox_test.go(9KB)
----docs()
--------benchmark-results-sleep10ms-4cpu.svg(123KB)
--------benchmark-results-sleep10ms-8cpu.svg(123KB)
--------benchmark-results-randf64-8cpu.svg(118KB)
--------strategies.svg(264KB)
----examples()
--------prometheus()
--------fixed_size()
--------dynamic_size()
--------task_group()
----LICENSE(1KB)
----resizer.go(2KB)
----go.mod(39B)
----pond_test.go(787B)
----resizer_test.go(1KB)
----benchmark()
--------README.md(17KB)
--------benchmark_test.go(5KB)
--------go.mod(237B)
--------go.sum(2KB)
----go.sum(0B)
----.travis.yml(453B)

网友评论