【发布时间】:2022-12-04 20:36:19
【问题描述】:
有没有办法在异步上下文中使用原子类型而不是异步 Mutex 或 RwLock ?
可以在异步上下文中按原样使用标准原子吗?
或者,例如,是否存在 std::sync::atomic::AtomicUsize 和 load / store 方法的异步等价物,它可以用 read().await / write().await 方法替换 tokio::sync::RwLock<usize> 之类的方法?
【问题讨论】:
-
为什么
load或store是异步的?他们立即行动。 -
是的,Atomics 非常适合异步使用。通常,您甚至不应该使用异步
Mutex和RwLocks,除非您必须在等待点上持有锁。 -
谢谢,这就是我一直在寻找的答案!
标签: asynchronous rust mutex atomic rwlock