1 个不稳定版本

0.1.0 2021年1月14日

#21 in #dropped

MIT/Apache

5KB
55

提供在丢弃时自动合并的有用工作线程。

特性

开启 crossbeam 特性将使用无界的 crossbeam 通道而不是 std 通道。

示例

#[macro_use]
extern crate drop_worker;

use drop_worker::{recv_data, try_err, DropWorker, Receiver};

fn main() {
    let _worker = DropWorker::new(work);

    let mut receiver = DropWorker::new(rec);
    receiver.send(5);
}

fn work(recv: Receiver<()>) {
    // setup
    loop {
        try_err!(recv);
        // do work
    }
}

fn rec(recv: Receiver<usize>) {
    loop {
        let data = recv_data!(recv);
        assert_eq!(data, 5);
    }
}

依赖

~76KB