2012-11-15 3 views
0

내가 만들고있는 System.Threading.Timer 시작한 경우 :타이머 실행을 중지하는 방법은 무엇입니까?

Dim tcb As TimerCallback = New TimerCallback(AddressOf timerRoutine) 
Dim t As Timer = New Timer(tcb, Nothing, DueTime, Period) 

내가 그것을 어떻게 중지합니까를?

System.Timers.Timer을 사용하는 것이 더 쉬우 며 Timer.Stop()으로 전화 하시겠습니까?

+0

내가 당신을 위해 구글을 물었다 : http://msdn.microsoft.com/ 모든 객체를 폐기하기 전에 완료 타이머 콜백을 대기중인 것이 10 초 기다려야 다음과 같이 Dispose 만약

가 호출됩니다 en-us/magazine/cc164015.aspx – Jan

+0

다양한 타이머가 다릅니다. http://msdn.microsoft.com/en-us/magazine/cc164015.aspx, "더 나은"(또는 더 쉬운) 것은 무엇이 필요한지에 달려 있습니다. . –

답변

0

참조 그 변경 방법. 의 발언 봐 :

http://msdn.microsoft.com/en-us/library/system.threading.timer.aspx

+0

'System.Timers.Timer'를 사용하고'Timer.Stop()'을 호출하는 것이 더 쉬울까요? – CJ7

+0

당신이 달성하고자하는 것에 따라 타이머 중 하나를 사용해야합니다. 필요한 항목을 확인해야합니다. http://msdn.microsoft.com/en-us/magazine/cc164015.aspx – Asken

0

하나의 옵션이 Timer 처분 때문에 그것을 중지됩니다 t.Dispose()입니다.

Dim waitHnd As WaitHandle = New AutoResetEvent(False) 
t.Dispose(waitHnd) 
waitHnd.WaitOne(10000) 
관련 문제