Tôi đang viết chương trình sẽ thực hiện thao tác sau mỗi 10 hoặc 15 phút. Tôi muốn nó được chạy tất cả các thời gian, vì vậy tôi cần một cái gì đó có giá rẻ về sức mạnh xử lý. Những gì tôi đã đọc cho đến nay dường như gợi ý rằng tôi muốn sử dụng một Timer. Đây là một đoạn mã tôi có cho đến nay.C# Tạm dừng thực hiện chương trình
class Program {
private static Timer timer = new Timer();
static void Main(string[] args) {
timer.Elapsed += new ElapsedEventHandler(DoSomething);
while(true) {
timer.Interval = TimerMilliseconds(); // The duration of the wait will differ each time
timer.Enabled=true;
}
}
}
Vấn đề ở đây là vòng lặp while chỉ tiếp tục thực hiện nhanh chóng. Làm cách nào để tạm dừng thực hiện cho đến khi hết giờ. Chương trình của tôi thực sự không cần phải đa luồng. Bộ hẹn giờ có phải là công cụ thích hợp cho công việc này không?
Cảm ơn bạn trước vì đã trợ giúp!
CẬP NHẬT: Xin lỗi vì sự nhầm lẫn. Tôi đã triển khai phương thức DoSomething. Tôi chỉ không bao gồm nó vì tôi không tin rằng đó là một phần của vấn đề của tôi.
Gợi ý: Xóa vòng lặp while và thực hiện 'DoSomething'. – Vlad
Ngoài ra, bạn cũng có thể cân nhắc đưa ứng dụng của mình thành [Dịch vụ Windows] (http://msdn.microsoft.com/en-us/library/y817hyb6%28v=vs.110%29.aspx) –