CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 131

131

Chương 4: Tiểu trình, tiến trình, và sự đồng bộ

TimerCallback handler = new TimerCallback(TimerHandler);

// Tạo một đối tượng trạng thái, đối tượng này sẽ được

// truyền cho phương thức TimerHandler.

// Trong trường hợp này, một thông báo sẽ được hiển thị.

string state = "Timer expired.";

Console.WriteLine("{0} : Creating Timer.",

DateTime.Now.ToString("HH:mm:ss.ffff"));

// Tạo một Timer, phát sinh lần đầu tiên sau hai giây

// và sau đó là mỗi giây.

using (Timer timer = new Timer(handler, state, 2000, 1000)) {

int period;

// Đọc thời khoảng mới từ Console cho đến khi

// người dùng nhập 0. Các giá trị không hợp lệ

// sẽ sử dụng giá trị mặc định là 0 (dừng ví dụ).

do {

try {

period = Int32.Parse(Console.ReadLine());

} catch {

period = 0;

}

// Thay đổi Timer với thời khoảng mới.

if (period > 0) timer.Change(0, period);

} while (period > 0);

}

// Nhấn Enter để kết thúc.

Console.WriteLine("Main method complete. Press Enter.");

Console.ReadLine();

}

}