C#
답변
Timer.Stop()
후 120 틱이 대단히 감사합니다.
시작 시간에주의하십시오. 각 호출에서 currentTime + 5 초> startTime + 10 분인지 테스트합니다. 그렇다면 타이머를 비활성화하십시오.
나는 타이머가 원하는 때에 발사된다는 보장이 없으므로이 방법을 N ticks로 실행하는 것이 더 좋습니다. 120 틱이 실제 시간의 10 분에 걸쳐 실행될 수 있습니다.
시작하기 전에 끝내야 할 시점을 추적하기 위해 DateTime 변수를 사용하기 만하면됩니다. Elapsed 이벤트 핸들러에서 신호 시간이 종료 시간보다 작은 지 확인하십시오. 그렇지 않으면 타이머를 중지하십시오.
함수가 호출되는 시간을 계산하고 타이머 틱에서 가입을 취소 한 경과 카운터를 생성 할 수 있습니다. 또는 틱주기가 10 분인 다른 타이머를 실행하고 타이머 틱에서 기능을 호출하지 않도록 체크하십시오.
Y 분을 X 간격으로 나누어 실행해야하는 횟수를 가져옵니다. 그 후에 함수가 호출 된 횟수를 세면됩니다.
귀하의 경우 10 분 = 600 초/5 초 = 120 회의 통화가 필요합니다. 함수를 호출 한 횟수를 카운터에서 추적하십시오.
이처럼 타이머 루프 뭔가 유무 :
DateTime endTime = DateTime.Now.AddMinutes(10);
while(endTime < DateTime.Now)
{
// Process loop
}
차라리 * 종료 시간 *을 저장하고 각 반복 전에 현재 시간 값과 비교할 것입니다. 그럼에도 불구하고, +1. – Cerebrus
맞습니다. 종료 시간을 저장하는 것이 좋습니다. –
당신은 그냥 캡처 5 초와 10 분 동안 실행 다른 하나 실행이 타이머를 설정하고 첫 번째
을 해제 할 수 있습니다를 중지 할 시간을 지정하고 경과 된 처리기 내에서 타이머를 종료하십시오. 예를 들면 다음과 같습니다 (참고 : System.Threading.Timer 타이머를 사용했습니다.) Winforms로 작성하는 경우 System.Windows.Forms.Timer 뒤에있을 수 있습니다.
public class MyClass
{
System.Threading.Timer Timer;
System.DateTime StopTime;
public void Run()
{
StopTime = System.DateTime.Now.AddMinutes(10);
Timer = new System.Threading.Timer(TimerCallback, null, 0, 5000);
}
private void TimerCallback(object state)
{
if(System.DateTime.Now >= StopTime)
{
Timer.Dispose();
return;
}
// do your work.....
}
}
당신은 초 타이머를 사용할 수 있습니다 간단한 답변
class Program
{
static void Main(string[] args)
{
int interval = 5 * 1000; //milliseconds
int duration = 10 * 60 * 1000; //milliseconds
intervalTimer = new System.Timers.Timer(interval);
durationTimer = new System.Timers.Timer(duration);
intervalTimer.Elapsed += new System.Timers.ElapsedEventHandler(intervalTimer_Elapsed);
durationTimer.Elapsed += new System.Timers.ElapsedEventHandler(durationTimer_Elapsed);
intervalTimer.Start();
durationTimer.Start();
}
static void durationTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
intervalTimer.Stop();
durationTimer.Stop();
}
static void intervalTimer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
//call your method
}
private static System.Timers.Timer intervalTimer;
private static System.Timers.Timer durationTimer;
}
- 1. C-c에 C-c 리바운드
- 2. C, C#, C++ 및 Java 용 C# 코드 분석기
- 3. iPhone 용 C 대 C++ (Objective-C vs Objective-C++)
- 4. aquamacs : C-C C-C (파이썬 모드)에서 스왑 Windows
- 5. Managed C++에서 Managed C++ to C#
- 6. Objective-C 및 MetroWerks C/C++ IDE
- 7. 가상 파일? c/C++ 또는 C#
- 8. C/C++에서 C#으로 마이그레이션하기위한 리소스
- 9. C/C++/Objective-C 텍스트 인식 라이브러리
- 10. C 코드는 C++로 컴파일하지만 C
- 11. 이미지 안정화 라이브러리 Objective-C/C/C++?
- 12. C/C++로 전환하려면 C#을 배우시겠습니까?
- 13. C++ MD2 로더에서 C \ Objective-C & Cocoa까지
- 14. C/C++ 코드베이스로 링크 대상 C 라이브러리
- 15. C# 프로그램의 C/C++ 데이터 구조 사용
- 16. C++/FQA for C#
- 17. C/C++ 단일 콜론
- 18. C/C++ J2ME 인터프리터
- 19. C# - C 상호 운용성
- 20. C++/C# 예외 throwing
- 21. C 소스 파일을 C#
- 22. EOF reading C/C++
- 23. C/C++ 스트림 파일
- 24. C# 및 C++ 라이브러리
- 25. C++ 코드 및 C?
- 26. C/C++ 구조체 오프셋
- 27. 확장 개발하여 C/C++
- 28. C to C++ 변환기
- 29. c & C++ 프로토콜 버퍼
- 30. c/C++ NLP 라이브러리
음의 사랑을? :) –