Tôi có một câu hỏi phong cách về sự lựa chọn thực hiện chủ đề nền mà tôi nên sử dụng trên một ứng dụng biểu mẫu windows. Hiện tại tôi có một BackgroundWorkerhình thức có một (while(true))vòng lặp vô hạn . Trong vòng lặp này, tôi sử dụng WaitHandle.WaitAnyđể giữ cho chủ đề báo lại cho đến khi điều gì đó quan tâm xảy ra. Một trong những sự kiện xử lý mà tôi chờ đợi là một StopThreadsự kiện "" để tôi có thể thoát ra khỏi vòng lặp. Sự kiện này được báo hiệu khi từ ghi đè của tôi Form.Dispose().
Tôi đã đọc ở đâu đó BackgroundWorkerthực sự dành cho các hoạt động mà bạn không muốn kết nối UI và có một kết thúc hữu hạn - như tải xuống một tệp hoặc xử lý một chuỗi các mục. Trong trường hợp này, "kết thúc" là không xác định và chỉ khi cửa sổ được đóng lại. Vì vậy, nó sẽ thích hợp hơn cho tôi để sử dụng một Chủ đề nền thay vì BackgroundWorkercho mục đích này?