타이머가 두 번 틱 (총 2 초) 될 때까지 프로그램이 아무 것도하지 않게하려고합니다. 다음 코드를 사용 중이며 while 문을 사용하지 않으면 타이머가 작동하지 않습니다.타이머가 특정 횟수만큼 틱 할 때까지 기다려주십시오.
timer = 0;
Console.WriteLine("timer start ");
timer1.Start();
while (timer < 2);
Console.WriteLine("timer ends");
private void timer1_Tick(object sender, EventArgs e)
{
Console.WriteLine(timer);
timer++;
}
좋은, 유익한 대답,하지만 난 당신이 메모리 가시성에 대한'timer' 변수에 액세스 주위에 약간의 잠금을 넣어 좋습니다. 또는'volatile' 키워드를 사용하십시오. – adv12
@ adv12 정확함, 감사합니다 –
스틸 마크, 왜 스레드를 동기화하지 않습니까? 아시다시피, 일정한 타이머 확인 대신에'Monitor.Wait'가 있습니다. – neeKo