cem*_*mbo 5 c# locking thread-safety
Lock 参数中 object 的目的是什么。下面是一个例子:
public class TestThreading
{
private System.Object lockThis = new System.Object();
public void Process()
{
lock (lockThis)
{
// Access thread-sensitive resources.
}
}
}
Run Code Online (Sandbox Code Playgroud)
...这个'lockThis'对象是否将任何东西传递到Lock体中。为什么我不能在参数中使用没有对象的 Lock 语句。
传递给lock语句的对象可以被认为是锁的标识符。对于任何对象,在任何给定时间只有一个线程可以获得该对象的独占锁。通过允许将对象传递给 lock 语句,您可以对关键代码的不同区域使用不同的对象。
该Monitor.Enter文档比语句文档更好地描述了对象的使用lock。
| 归档时间: |
|
| 查看次数: |
644 次 |
| 最近记录: |