#thread #stop #task #cancel

stoplight

Stoplight 是一个简单的可停止任务/线程库

5 个不稳定版本

0.3.3 2019年10月30日
0.2.2 2019年10月23日
0.2.1 2019年10月23日
0.2.0 2019年10月23日
0.1.0 2019年10月23日

#1067并发

MIT 许可证

5KB
56

Stoplight

是一个用于可停止线程/任务的库。

use stoplight::Thread;
use std::sync::atomic::{AtomicBool, Ordering};

// spawn our task, this creates a new OS thread.
let th = Thread::spawn(|stop| {
    while !stop.load(Ordering::Relaxed) {}
    42
});

// stop signals the thread to stop.
th.stop();

// join waits for the thread to exit, then gives its return value.
assert_eq!(th.join().unwrap(), 42);

lib.rs:

Stoplight 是一个用于可停止线程/任务的库。

 use stoplight;
 use std::sync::atomic::{Ordering};

 // spawn our task, this creates a new OS thread.
 let th = stoplight::spawn(|stop| {
     while !stop.load(Ordering::Relaxed) {}
     42
 });

 // stop() signals the thread to stop, and then join returns its return value.
 th.stop();
 assert_eq!(th.join().unwrap(), 42);

无运行时依赖