#线程池 #异步 #异步任务 #阻塞

async-cpupool

针对 CPU 密集型任务的简单异步线程池

5 个不稳定版本

0.3.0 2024 年 7 月 9 日
0.2.2 2024 年 4 月 15 日
0.2.1 2024 年 2 月 12 日
0.2.0 2024 年 1 月 7 日
0.1.0 2023 年 11 月 26 日

#200并发 类别

Download history 26/week @ 2024-04-19 12/week @ 2024-04-26 3/week @ 2024-05-03 9/week @ 2024-05-17 5/week @ 2024-05-24 5/week @ 2024-05-31 6/week @ 2024-06-07 7/week @ 2024-06-14 17/week @ 2024-06-21 5/week @ 2024-06-28 128/week @ 2024-07-05 40/week @ 2024-07-12 14/week @ 2024-07-19 26/week @ 2024-07-26 11/week @ 2024-08-02

103 每月下载量
用于 ap-relay

GPL-3.0 许可证

37KB
979 代码行

Async CPUPool

针对 CPU 密集型任务的简单异步线程池

用法

添加到 Cargo.toml 文件中

$ cargo add async-cpupool

在应用程序中使用

fn complex_computation() {}

fn main() -> Result<(), Box<dyn std::error::Error>> {
    smol::block_on(async {
        let pool = async_cpupool::CpuPool::new();

        pool.spawn(move || {
            complex_computation();
        }).await?;

        pool.close().await;

        Ok(())
    })
}

贡献

请随时提出您遇到的问题。请注意,任何贡献的代码都将根据 GPLv3 许可证授权。

许可证

版权所有 © 2023 asonix

Async CPUPool 是免费软件:您可以自由重新分发和/或修改它,具体请参阅由自由软件基金会发布的 GNU 通用公共许可证的条款,可以是许可证的第 3 版,或者(根据您的选择)任何较新版本。

Async CPUPool 的分发是希望它将是有用的,但没有任何保证;甚至没有对适销性或特定用途的适用性的暗示保证。有关详细信息,请参阅 GNU 通用公共许可证。此文件是 Async CPUPool 的一部分。

您应该已收到 Async CPUPool 一起的 GNU 通用公共许可证副本。如果没有,请参阅 http://www.gnu.org/licenses/

依赖项

~1–26MB
~354K SLoC