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?
You can take a look at the various Local types in futures-intrusive. E.g. the LocalOneshotChannel requires no mutex.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With