1

我想知道当我们在经过的计时器内调用方法时是否总是需要放置 lock 关键字以实现该方法的线程安全。

我有一个不使用任何共享变量并在 Elapsedevent 内部调用的代码。我是否需要锁定它,否则会很好,因为线程有自己的堆栈。

这是我的 Elapsedevent 代码,

void t_Elapsed(object sender, ElapsedEventArgs e)
{
    Test t = new Test();
    t.Process();
}    

class Test
{
    public void Process()
    {    
        // do ingsome processing using only local variables.
    }
}
4

1 回答 1

1

如果一个方法不使用共享状态,那它本质上是线程安全的。你根本不需要锁。

于 2014-08-02T19:53:42.363 回答