Skip to content

tom-heimbrodt/stateful_async_worker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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
   }

About

Asynchronous stateful worker threads utilizable as futures

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages