나는 우리 서버에 다시 내 애플 리케이션의 로컬 데이터를 동기화하기 위해 매 10 초마다 실행 Timer
있다.타이머 - 이전에 완료 될 때까지 재실행하지 마라.
public Timer syncTimer;
syncTimer = new Timer((o) =>
{
this.syncToServer();
}, null, 0, 10000);
내 syncToServer가 실행하는 데 10 초 이상 걸리면 문제가 발생합니다.
public Timer syncTimer;
syncTimer = new Timer((o) =>
{
syncTimer.Change(Timeout.Infinite , Timeout.Infinite); //Stop the timer
this.syncToServer();
syncTimer.Change(10000 , 10000); //Restart the timer
}, null, 0, 10000);
이 난 후 오전 또는이에서 실행 중지 할 수있는 더 좋은 방법이 무엇을 달성하는 가장 좋은 방법입니다 : 나는 그것을 실행하는 동안 타이머를 일시 정지 한 후 완료되면 다시 시작하려면 다음을 수행 고려하고 같은 시간?
부울 플래그 설정은 어떻습니까? 실행중인 경우 (즉,'boolean'이 true 인 경우 하나의 실행을 건너 뛰고 10 초 만에 다음 실행을 기다리는 것입니까? – Herdo
이것은 http://stackoverflow.com/questions/1699543/stopping-timer- in-its-its-callback-method? rq = 1 –
이 블록에 대해 –