我有一个变量t: Arc<RwLock<Handle>>要在主线程中写入/读取,在多个其他线程中(线程数= n),t仅用于在程序死机之前释放资源(即当程序运行正常时,t不会被调用)。在这种情况下,在主线程中写入/阅读t的性能是否会随着n变大而降低?例如,与n = 0相比,当n = 100变大时,尝试写入t的开销是否更大?
t: Arc<RwLock<Handle>>
n
t
n = 0
n = 100
bybem2ql1#
不,你克隆的Arc在概念上与它包含的RwLock是分开的(锁不知道它是共享的)。如果其他线程中的克隆没有 * 访问 * 锁,那么不管有多少个Arc,对锁都没有影响。
Arc
RwLock
1条答案
按热度按时间bybem2ql1#
不,你克隆的
Arc
在概念上与它包含的RwLock
是分开的(锁不知道它是共享的)。如果其他线程中的克隆没有 * 访问 * 锁,那么不管有多少个Arc
,对锁都没有影响。