stateful_async_worker

Crates.iostateful_async_worker
lib.rsstateful_async_worker
version0.1.2
sourcesrc
created_at2020-07-30 21:46:11.736468
updated_at2021-02-21 10:29:51.888287
descriptionAsynchronous stateful worker threads utilizable as futures
homepagehttps://github.com/tom-heimbrodt/stateful_async_worker
repositoryhttps://github.com/tom-heimbrodt/stateful_async_worker
max_upload_size
id271470
size18,144
Tom Heimbrodt (tom-heimbrodt)

documentation

README

Rust Docs.rs Crates.io Crates.io License

Stateful async worker provides worker thread structures to allow the execution of synchronous functions or closures in the background and asynchronously access the result as future.

To execute multiple functions at the same time ThreadPool is helpful. For inherently single threaded operations like disk I/O WorkerThread should be sufficient.

Example

   use stateful_async_worker::WorkerThread;

   async fn example() -> u64 {
       // Create a worker thread that wraps a number.
       let worker = WorkerThread::spawn_with(0u64);

       // Now you can run closures as futures in the background!
       let add_three = worker.work_on(|num: &mut u64| {
           // Do some sophisticated computations here ...
           *num += 3;
           *num
       });
       add_three.await
   }
Commit count: 9

cargo fmt