Crate thread_waker

Source
Expand description

Waker implementation using current thread token.

This is useful to work with futures without actually employing runtime

§Usage

use core::{time, task};
use std::thread;

use thread_waker::waker;

fn my_future(waker: task::Waker) {
    thread::sleep(time::Duration::from_millis(250));
    waker.wake();
}

let waker = waker(thread::current());

for _ in 0..4 {
    let waker = waker.clone();
    thread::spawn(move || my_future(waker));
    thread::park();
}

println!("I'm done!");

Functions§

block_on
Await for future forever via thread token
waker
Creates waker from thread handle