19 个版本 (2 个稳定版)
1.0.1 | 2024年8月6日 |
---|---|
1.0.0 | 2023年9月11日 |
0.10.3 | 2023年8月31日 |
0.10.2 | 2023年1月26日 |
0.8.4 | 2020年2月28日 |
#133 在 编码
7,164 每月下载量
在 4 crate 中使用
82KB
1.5K SLoC
procspawn
这个crate提供使用类似于 thread::spawn
的函数启动进程的能力。它传递 serde
可序列化对象,而不是闭包。启动的闭包的返回值也必须是可序列化的,然后可以从返回的连接句柄中检索。
如果启动的函数导致panic,它也会在进程边界上进行序列化。
示例
步骤1:在程序早期(main函数开头附近)调用 procspawn::init
。该点之前发生的事情也会在启动的函数中发生。
procspawn::init();
步骤2:现在可以开始启动函数了
let data = vec![1, 2, 3, 4];
let handle = procspawn::spawn(data, |data| {
println!("Received data {:?}", &data);
data.into_iter().sum::<i64>()
});
let result = handle.join().unwrap();
许可证和链接
- 文档
- 问题跟踪器
- 示例
- 许可证: Apache-2.0
依赖关系
~5–39MB
~592K SLoC