async-observable 0.5.0

Async & reactive synchronization model to keep multiple async tasks / threads partially synchronized.
Documentation
use async_observable::Observable;
use async_std::task::spawn;

#[async_std::main]
async fn main() {
    let mut observable = Observable::new(0);
    let mut tasks = vec![];

    for i in 0..10 {
        let mut fork = observable.clone();

        tasks.push(spawn(async move {
            let update = fork.next().await;

            println!(
                "Task {} was notified about updated observable {}",
                i, update
            );
        }));
    }

    observable.publish(1);

    for t in tasks {
        t.await
    }
}