#thread-pool #java #task #task-queue #execute #thread-pool-executor

jtp

一个简单的线程池实现,类似于 Java 中的 ThreadPoolExecutor

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并发

Download history 29/week @ 2024-03-09 3/week @ 2024-03-16 10/week @ 2024-03-30

每月 70 次下载

Apache-2.0

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