4 个版本
0.1.3 | 2024 年 3 月 7 日 |
---|---|
0.1.2 | 2023 年 4 月 9 日 |
0.1.1 | 2023 年 3 月 10 日 |
0.1.0 | 2023 年 3 月 8 日 |
#367 在 并发
每月 70 次下载
29KB
547 行
JTP
一个类似于 Java 中的 ThreadPoolExecutor
的线程池实现。
用法
使用 cargo
安装此库,
cargo add jtp
或将以下内容添加到您的 Cargo.toml
[dependencies]
jtp = "0.1.3"
然后使用此库
// Creates a thread pool.
let thread_pool = ThreadPoolBuilder::default()
.core_pool_size(6) // Sets the number of core threads.
.max_pool_size(10) // Sets the maximum number of threads.
.channel_capacity(100) // Sets the capacity of the task queue.
.rejected_handler(RejectedTaskHandler::Abort)
.build();
thread_pool.execute(|| println!("Hello World"));
thread_pool.wait();
许可证
Apache 许可证 2.0 版,LICENSE-APACHE
lib.rs
:
线程池
线程池允许您在不为每个异步任务创建新线程的情况下执行任务。通过限制线程数量,它提高了性能和资源利用率。
构建线程池
您可以使用 ThreadPoolBuilder
使用自定义配置构建线程池。
示例
use jtp::ThreadPoolBuilder;
let mut thread_pool = ThreadPoolBuilder::default()
.core_pool_size(5)
.max_pool_size(10)
.channel_capacity(100)
.build();
thread_pool.execute(|| println!("Hello World")).unwrap();
// Close the thread pool and wait for all worker threads to end.
thread_pool.wait();
依赖关系
~425KB