Tôi đang làm một số đa luồng và sử dụng AutoResetEvents và ManualResetEvents làm kiểm soát vòng lặp chính của tôi. Khi "destryoing" các chủ đề tôi cũng phải vứt bỏ những tín hiệu này, điều đó rõ ràng.Làm thế nào để xử lý một waithandle chính xác
Nhưng tôi thấy nhiều cách khác nhau như thế nào để xử lý Waithandles, và tôi không chắc chắn cái nào là đúng:
Version 1
if (disposing)
{
this.threadExitEvent.SafeWaitHandle.Dispose();
this.threadExitEvent.Close();
this.threadExitEvent = null;
....
}
Version 2
if (disposing)
{
this.threadExitEvent.Close();
this.threadExitEvent = null;
....
}
Phiên bản 3
if (disposing)
{
this.threadExitEvent.Close();
....
}
+ 1 - Tôi hoàn toàn bỏ qua thực tế là Vứt bỏ là một giao diện thực hiện rõ ràng (cảm ơn, Adam!) - đây chắc chắn là con đường để đi. –
Âm thanh hợp lý. Tôi đã đoán rằng phiên bản 2 là phiên bản "sạch nhất". Cảm ơn – TomTom