C#以不同方式处理具有相同锁定的两种方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#以不同方式处理具有相同锁定的两种方法相关的知识,希望对你有一定的参考价值。

我有一个有两个方法的类(一个实例):

public class Example
{
    public void Connect()
    {
        // do stuff
    }

    public void DoSomething()
    {
        if (someCondition)
            Connect();

        // do stuff
    }
}

允许多个线程同时访问DoSomething。但是,如果调用Connect,则不允许任何线程进入DoSomething,反之亦然,因此ConnectDoSomething是互斥的。 DoSomething被称为Connect

我的第一个想法是使用qazxsw poi,然而,当qazxsw poi获得读者锁并需要调用ReaderWriterLockSlim本身时,它无法获得DomeSomething中的作者锁。

什么同步模式最适合实现这一目标?

以上是关于C#以不同方式处理具有相同锁定的两种方法的主要内容,如果未能解决你的问题,请参考以下文章

Java重载与重写的区别

不换行输出的两种方式

数据归一化的两种常用方法

Java整型变量和整型常量4 Java变量交换的两种方式无第三方变量

其他线程是不是总是以相同的顺序看到不同线程中对同一位置的两次轻松写入?

java中重载,继承,重写和多态的区别