小编Tux*_*Tux的帖子

C#线程和同步

我有一个私有静态字段,我用它来进行同步(锁定).现在我有两个函数,我不想同时执行.所以我这样做了:

public class Synchronization
{
    private static object _lock = new object();

    public void MethodA()
    {
        lock (_lock)
        {
            Console.WriteLine("I shouldn't execute with MethodB");
        }
    }

    public void MethodB()
    {
        lock (_lock)
        {
            Console.WriteLine("I shouldn't execute with MethodA");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我知道锁定一个对象会阻止单个函数的并行执行,但如果我在同时运行的不同方法中使用相同的锁对象,那么同样的工作吗?简单地说,put可以任何其他线程获取锁定另一个函数中已经锁定的对象吗?

c# multithreading synchronization locking

4
推荐指数
1
解决办法
9413
查看次数

标签 统计

c# ×1

locking ×1

multithreading ×1

synchronization ×1