Efficient synchronization primitives for a single-threaded async app in Rust

Viewed 599

I have a tokio-based single-threaded async app where using Arcs or other Sync types seems to be an overhead. Because there is no need for synchronization between threads, I am looking for something like tokio::sync::oneshot::channel, Sender and Receiver of which should be !Sync and could be wrapped into Rc instead of Arc.

Are there any specially crafted synchronization primitives for usage in single-threaded async apps in Rust?

1 Answers
Related