c# - 如何锁定多个对象?

标签 c# locking

我想同时锁定两个对象。 为什么我不能写这样的代码?

lock (obj1, obj2)

我应该一直这样写吗?

lock (obj1)
{
    lock (obj2)
    {
    }
}

也许这可以变得更简单? 可能最好引入特殊的私有(private)对象,并将其用于锁...

最佳答案

好吧,这个问题太老了,但是,这是我想出的一个紧凑的问题,两个代码最终都会得到相同的编译语句(这个和问题描述中的那个):

    lock (obj1) lock (obj2)
    {
        // your code
    }

关于c# - 如何锁定多个对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5975664/

相关文章:

c# - 在计时器上刷新 Gridview 但保持扩展 div 的状态

c# - 从 C# 访问 SQL Server 2008 上的存储过程的好方法

mysql - 有什么方法可以选择而不会导致 MySQL 锁定?

java - 在Java中,为什么线程从.wait()唤醒后必须竞争资源?

multithreading - 在多线程代码(通用Lisp)中使用库函数

c# - 如何高效地使用 GetProperties()?

c# - 如何在 UWP 中关闭 "Enter"上的 ContentDialog

c# - XDocument 更改模式

assembly - 如何使用 LOCK ASM 前缀来读取值?

java - 如果 jar 已经在运行,则阻止它运行?