定时器内部的调用方法定时器Elapsed Event

时间:2014-08-02 19:49:31

标签: c# synchronization thread-safety system.timers.timer

我想知道当我们调用timers中的方法时,总是需要输入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.
    }
}

1 个答案:

答案 0 :(得分:1)

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