Laman

Selasa, 25 Januari 2011

contoh penggunaan thread sederhana di C Sharp C#

Berikut ini adalah contoh sederhan kegunaan thread di C#. dalam contoh project ini digunakan dua buah thread, satu thread digunakan untuk menangani proses dan satu  thread  lagi digunakan agar form (program) bisa tetep berjalan. Oke sekarang kita langsung memulai membuat programnya, seperti biasa siapkan project kosong pada IDE visual studio 2010, klik file pilih new project, pada kotak project name isi nama project sesuai dengan keinginan. untuk langkah langkah selanjutnya, ikuti instruksi instruksi dibawah ini
langkah 1 : tambahkan satu button, satu label dan satu textbox pada form yang telah disediakan sebelumnya, atur dan tata sedemikian rupa sehingga tampilannya seperti pada gambar dibawah

  Gambar 1. Preview desain aplikasi

langkah 2 : double klik pada button satu untuk membangkitkan event single clik pada button satu, setelah itu tambahkan source code berikut ini
            button1.Enabled = false;
            backgroundWorker1.RunWorkerAsync();

langkah 3 : tambahkan komponen backgroundWorker untuk menggunakan thread UI. untuk lebih jelasnya perhatikan gambar berikut ini


jika komponen tersebut sudah ditambahkan ke form, maka pada jendeka form pada bagian bawah akan ada icon backgroundWorker seperti pada gambar berikut ini

Gambar 2. Preview icon background worker di jendela desain Visual Studio 2010

langkah 4: pada icon background worker, double clik dan masukan source code berikut ini.
         
for (int i = 0; i < 2147400000; i++)
            {
                hasil = i;               
            }

Source code diaas digunakan untuk melakukan looping dengan nilai increment 1 sebanyak 214700000 kali.jika proses tersebut dilakukan tanpa menggunakan thread, windows form pasti akan mengalami yang namanya not responding
langkah 5 : tambahkan function berikut ini pada program
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            button1.Enabled = true;
            textBox1.Text = hasil.ToString();
        }
l
angkah 6 : dan juga tambahkan code berikut ini untuk melakukan update terhadap textbox satu.
 public void updateTextBox(string data)
        {
            if (textBox1.InvokeRequired)
            {
textBox1.Invoke(new outputUpdateDelegate(outputUpdateCallback), new object[] { data });
        }
        else
        {
           outputUpdateCallback(data);
        }          
        }

langkah 7 : Done, program selesai dibuat, jika langkah langkah diatas dilakukan dengan benar, maka program sewaktu dijalankan akan melakukan proses looping sebanyak 2147400000, dan proses tersebut ditangani oleh dua thread, sehingga tidak terjadi yang namanya not responding.

untuk memperjelas dan mempermudah dalam memahami tutorial tentang thread sederhana UI ini silahkan
download binary filenya disini dan juga
download full projectnya disini.
for more information contact on informasi@csharp-indonesia.com

pandauan download : klik link download yang disediaan diatas, setelah itu akan muncul halaman adf.ly, tunggu beberapa detik sampai pada pojok kanan atas muncul tulisan skip ad. klik tombol tersebut ,setelah itu akan muncul halaman ziddu, silahkan klik pada button download yang muncul pada halaman ziddu
NB : Semua program dalam tutorial ini ditulisa menggunakan IDE Visual studio 2010. dengan target framework 3.5

11 komentar:

  1. Astonishing style. I wish I could write that way.

    BalasHapus
  2. You're very welcome.

    Regards,
    okfan rizal ferdiansyah

    BalasHapus
  3. Komentar ini telah dihapus oleh administrator blog.

    BalasHapus