Silverlight 응용 프로그램에서는 500ms마다 실행해야하는 코드 블록이 있습니다. DispatcherTimer를 사용하여이 작업을 수행 할 계획입니다 (아래 코드 참조).DispatchTimer - 이전 틱이 여전히 실행 중일 때 틱 이벤트가 트리거되지 않도록 방지합니다.
DispatcherTimer dt = new DispatcherTimer();
dt.Interval = new TimeSpan(0, 0, 0, 0, 500); // 500 Milliseconds
dt.Tick += new EventHandler(dt_Tick);
dt.Start();
그러나 코드 블록이 500ms보다 오래 걸릴 수도 있습니다 (코드 블록이 일부 웹 서비스 호출을 수행함). 현재 통화가 진행중인 경우 DispatcherTimer가 다른 이벤트를 트리거하지 않도록하려면 어떻게해야합니까? 옵션에는 무엇이 있으며 가장 좋은 방법은 무엇입니까? 잠금 장치 사용?
Windows Phone 용 Silverlight를 사용하고 있다는 것을 잊어 버렸습니다. System.Timers.Timer를 찾을 수 없습니다. – Martin
@Martin : 좋습니다. 대신 System.Threading.Timer를 사용하십시오. 같은 기본 원칙 :) –
마지막 질문 하나 존. System.Timers.Timer를 사용하면 동시에 두 개의 틱 이벤트가 실행될 수 있습니까? – Martin