在c#中锁定对象

本文关键字:对象 锁定 | 更新日期: 2023-09-27 18:07:10

我用一些(不存在的)语言编写了以下示例代码:

class Node {
int val;
Lock lock;
}

c#中的Lock的等价物是什么?

在c#中锁定对象

在c#中,任何对象都可以用于线程锁定。

所以你的代码看起来像:
class Node {
int val;
Object lockObject = new Object();
}
在你的代码中,你像这样锁定对象:
void SomeFunction()
{
    lock(lockObject)
    {
         // Do sometthing that needs thread protection
    }
}

如果你需要一个进程间锁定对象,那么你可以使用信号量。看到这个。

c#有一个lock关键字。您可以创建一个object类型的对象,名为lobj或类似的对象,然后使用

object lObj = new object();
lock(lObj){}