Tôi đang chạy một dịch vụ cửa sổ và sử dụng một vòng lặp và Thread.Sleep để lặp lại một nhiệm vụ, nó sẽ là tốt hơn để sử dụng một phương pháp hẹn giờ?C# Timer hoặc Thread.Sleep
Nếu có một ví dụ mã sẽ là tuyệt vời
Tôi hiện đang sử dụng mã này để lặp lại
int curMinute;
int lastMinute = DateTime.Now.AddMinutes(-1).Minute;
while (condition)
{
curMinute = DateTime.Now.Minute;
if (lastMinute < curMinute) {
// do your once-per-minute code here
lastMinute = curMinute;
}
Thread.Sleep(50000); // sleeps for 50 seconds
if (error condition that would break you out of this) {
break; // leaves looping structure
}
}
Lưu ý rằng bộ hẹn giờ có thể phải chịu thêm các gian hàng hệ thống hoặc tải cao mà giấc ngủ có thể không. Điều này cần được xem xét trong quá trình thực hiện của bất kỳ ai. –