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

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

WaitOrTimerCallback handler =

new WaitOrTimerCallback(EventHandler);

// Tạo đối tượng trạng thái (được truyền cho phương thức

// thụ lý sự kiện khi nó được kích hoạt). Trong trường hợp

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

string state = "AutoResetEvent signaled.";

// Đăng ký thể hiện ủy nhiệm để đợi AutoResetEvent đi vào

// trạng thái signaled. Thiết lập giá trị time-out là 3 giây.

RegisteredWaitHandle handle =

ThreadPool.RegisterWaitForSingleObject(autoEvent, handler,

state, 3000, false);

Console.WriteLine("Press ENTER to signal the AutoResetEvent" +

" or enter \"Cancel\" to unregister the wait operation.");

while (Console.ReadLine().ToUpper() != "CANCEL") {

// Nếu "Cancel" không được nhập vào Console,

// AutoResetEvent sẽ đi vào trạng thái signal,

// và phương thức EventHandler được thực thi.

// AutoResetEvent sẽ tự động trở về trạng thái unsignaled.

autoEvent.Set();

}

// Hủy bỏ việc đăng ký quá trình đợi.

Console.WriteLine("Unregistering wait operation.");

handle.Unregister(null);

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

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

Console.ReadLine();

}

}

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.