JCa*_*sso 2 c# java multithreading thread-safety
我是一名Java程序员,我知道一些关于线程化Java的事情.
在Java中,我可以使用synchronized关键字锁定方法:
private int a;
private int b;
private int c;
private synchronized void changeVars()
{
a = 4;
b = 2;
c = a+b;
}
Run Code Online (Sandbox Code Playgroud)
我在msdn中搜索过,看到c#中有一些玩具可以玩线程.如monitor.Enter,monitor.Exit,lock或高级的互斥锁.
但我需要的是同步一种方法.它在c#中的等价物是什么?
提前致谢.
在C#中没有直接的等价物,但你可以用这个做同样的事情:
private readonly object changeVarsLockObject = new object();
private void changeVars()
{
lock(changeVarsLockObject)
{
a = 4;
b = 2;
c = a+b;
}
}
Run Code Online (Sandbox Code Playgroud)