我们需要锁定来调用方法c#

时间:2017-11-23 02:26:44

标签: c# multithreading thread-safety

说我有以下代码

public class SomeClass
{
    private int int_var = 0;
    private Object lock_obj = new Object();

    public void Setter(int new_val)
    {
        lock(lock_obj)
        {
            int_var = new_val;
        }
    }

    public int Getter()
    {
         lock(lock_obj)
         {
            return int_var; 
         }
    }
}

现在我的问题是我可以在一个线程中调用Setter并在另一个线程中调用getter

someClass.Setter(32);

int x = someClass.Getter();

当我在不同的线程中调用getter或setter时,我不确定变量some​​CLass是否会被破坏。

感谢

0 个答案:

没有答案