Threading merupakan salah satu teknik pemrograman yang menurut sebagian orang rumit dan membingungkan karena kompleksitasnya. Tapi untunglah, di .NET Framework, Microsoft telah menyediakan sebuah komponen khusus untuk menangani kegiatan threading ini yang membuat segalanya jadi lebih mudah.
Komponen tersebut adalah BackgroundWorker. Dari namanya sudah dapat ditebak kegunaan dari komponen ini bukan đ
Terdapat 2 method utama pada komponen ini antara lain :
- RunWorkerAsync : untuk memerintahkan thread agar mulai aktif dan menjalankan tugasnya.
- CancelAsync : untuk menghentikan thread secara “paksa”.
Selain method terdapat 3 event utama yang dimiliki oleh BackgroundWorker yang memungkinkan kita mengontrol sebuah thread.
Event tersebut adalah :
- DoWork : Event ini dibangkitkan ketika method RunWorkerAsync dipanggil yang menandakan bahwa thread diperintahkan untuk aktif. Di event inilah routine yang perlu dilakukan oleh thread dieksekusi. Contohnya, membuka file, melakukan pengambilan data dari database server, dan sebagainya.
- ProgressChanged : Event ini dibangkitkan ketika thread sedang bekerja. Di event ini biasanya digunakan untuk menjalankan ProgressBar untuk menginformasikan sejauh mana thread telah melakukan tugasnya.
- RunWorkerCompleted : Event ini dibangkitkan ketika thread selesai menjalankan routine yang dibebankan pada event DoWork. Biasanya di event ini terdapat routine-routine yang dijalankan ketika suatu thread selesai menjalankan routine nya. Misal, menghapus file yang sudah berhasil dibaca oleh thread, menutup koneksi database, mengeluarkan MessageBox dan sebagainya.
Baiklah mari kita coba mempraktekkan threading ini biar langsung terasa khasiatnya đ