![]() |
1
21
使用
需要注意的是
|
![]() |
2
3
|
![]() |
4
0
|
![]() |
5
0
最简单的解决方案是:不要在线程之间共享ClassB实例。 换句话说,用线程声明实例化一个新的类B,并将其作为参数发送。 |
![]() |
6
0
不幸的是,这个问题在线程安全方面有点模棱两可。线程安全只是指如果多个线程正在执行,则操作将正常工作。 似乎缺少的是classA.methodA或classA.methodB是否需要在另一个调用classA.methodA(…)或classA.methodB(…)的线程之前使用classB.myVar完成其操作。它将决定您需要什么类型的锁定模式。 例如,如果您需要一个读取值的保证,它将如下所示:
|
![]() |
a a · 为什么在这个可重入锁示例中需要引用计数? 2 年前 |
![]() |
JohnLBevan · 为什么原子语句上需要锁提示? 7 年前 |
![]() |
Jay Wang · 生产者/消费者实施:陷入消费者循环 7 年前 |
![]() |
Andremoniy · 悲观写入是否锁定整个表? 7 年前 |
![]() |
Marcus Cemes · 选择。。。用于更新在提交后选择旧数据 7 年前 |
![]() |
Ins0maniac · Rails,锁定数据库中的记录 7 年前 |