Saya punya pertanyaan gaya tentang pilihan implementasi latar belakang thread yang harus saya gunakan pada aplikasi windows form. Saat ini saya memiliki BackgroundWorker
formulir yang memiliki infinite (while(true))
loop. Dalam loop ini saya gunakan WaitHandle.WaitAny
untuk menjaga agar thread tetap tertunda sampai sesuatu yang menarik terjadi. Salah satu pegangan acara yang saya tunggu adalah acara " StopThread
" sehingga saya bisa keluar dari loop. Peristiwa ini ditandai ketika saya ditimpa Form.Dispose()
.
Saya membaca suatu tempat yang BackgroundWorker
benar-benar ditujukan untuk operasi yang Anda tidak ingin mengikat UI dengan dan memiliki akhir yang terbatas - seperti mengunduh file, atau memproses urutan item. Dalam hal ini "akhir" tidak diketahui dan hanya ketika jendela ditutup. Oleh karena itu apakah lebih tepat bagi saya untuk menggunakan Thread latar belakang daripada BackgroundWorker
untuk tujuan ini?