ima*_*mak 6 c# synchronization
有几次我遇到过这个代码,其中一个类中的局部变量(它不是一个静态变量)已被用在一个锁中.
public class SomeClass
{
private object obj = new object();
....
....
lock(obj)
{
}
}
Run Code Online (Sandbox Code Playgroud)
给出它的实例变量是否有任何锁定点?
jas*_*son 14
给出它的实例变量是否有任何锁定点?
多个线程可以作用于同一个实例,并且线程安全需要锁定.例如,考虑共享队列.
静态锁对于控制对静态变量的访问很有用.实例锁对于控制对实例变量的访问很有用.
使用本地锁对象来保护局部变量没有任何意义(除非它是匿名函数或迭代器中捕获的外部变量),因为其他线程无法访问锁或变量.
| 归档时间: |
|
| 查看次数: |
1146 次 |
| 最近记录: |