#future #send #spawn #task-execution #tokio-task

side-futures

将未来发送到可能在不同线程上运行的运行时执行

3 个版本

0.1.2 2021 年 6 月 12 日
0.1.1 2020 年 3 月 23 日
0.1.0 2020 年 3 月 22 日

#700 in 异步

每月 34 次下载

0BSD 许可证

9KB
113 代码行

Side futures

Build Status Crates.io Docs License

此 crate 提供了将未来发送到可能在不同线程上运行的运行时执行的能力。典型用例是在有同步回调的重线程应用程序中,但也需要执行一些异步任务。

示例

要开始使用,请将以下内容添加到 Cargo.toml

side-futures = "0.1.0"

与 Tokio 运行时典型用法

use tokio::task;

#[tokio::main]
async fn main() {
    let (sender, receiver) = side_futures::create();
    task::spawn(receiver.run_receiver(task::spawn));
    sender
        .send_future(async {
            // Do stuff
        })
        .unwrap();
}

与 Actix 运行时典型用法

#[actix_rt::main]
async fn main() {
    let (sender, receiver) = side_futures::create();
    actix_rt::spawn(receiver.run_receiver(actix_rt::spawn));
    sender
        .send_future(async {
            // Do stuff
        })
        .unwrap();
}

贡献

请随意创建问题和发送拉取请求,它们非常受欢迎!

许可证

零条款 BSD 许可证

https://opensource.org/licenses/0BSD

https://tldrlegal.com/license/bsd-0-clause-license

依赖关系

~1MB
~16K SLoC