我有一个变量
t: Arc<RwLock<Handle>>
可以在主线程中写入/读取,并且在多个其他线程(线程数=n
)中,克隆t
仅用于在程序出现恐慌之前释放资源(即t
)
程序运行时不会被调用
好的)。
在这种情况下,随着
t
变大,主线程中写入/读取 n
的性能是否会降低?例如。与 t
相比,在 n = 100
时尝试写入 n = 0
的开销是否更大?
不,您正在克隆一个
Arc
,它在概念上与它包含的 RwLock
是分开的(锁不知道它被共享)。如果其他线程中的克隆没有访问锁,那么无论有多少个Arc
,都不会影响锁。