이 코드가 스레드로부터 안전한지 아는 사람이 있습니까? 아니면 timer2.Change를 호출 할 때 잠금을 사용해야합니까? MSDN 문서 당Timer (System.Threading) 스레드 안전
Timer timer1 = new Timer(timerCallback1);
Timer timer2 = new Timer(timerCallback2);
timer1.Change(5000, 5000);
timer2.Change(3000, 3000);
public void timerCallback1(object state)
{
timer1.Change(Timeout.Infinite, Timeout.Infinite);
timer2.Change(Timeout.Infinite, Timeout.Infinite);
DoStuff();
timer1.Change(5000, 5000);
timer2.Change(3000, 3000);
}
고마워, 네, 어쩌면 내가 타이머를 완료하기 위해 DoStuff()하기 전에 수면을 할거야, 아니면 그냥 잠금을 추가 할 수 있습니다. – remdao