Minggu, 21 November 2010

Perkenalan Thread

Thread merupakan satuan kecil dari proses dalam pemograman Java. Dengan meng-extends Thread atau meng-implements Runnable maka sebuah Class dapat menjadi sebuah Proses yg bisa dieksekusi secara bersamaan dengan Main Thread (Thread utama yang terdapat pada class yg memiliki public static void Main(...) ketika meluncurkan program pertama kali).
Thread digunakan untuk melakukan instruksi khusus yang waktu eksekusinya dapat berbarengan dengan Main Thread.

Statement yang akan dijalankan oleh oleh sebuah Thread di tempatkan pada method run().

public class GeneratorBilanganGenap extends Thread{
 private int maxNumber = 0;
 private double sleepSec = 0;
 private String name;
 
 public GeneratorBilanganGenap(String name, int max, double miliSecSleep) {
  this.name = name;
  maxNumber = max;
  sleepSec = miliSecSleep;
 }

 public void run() {
  try {
   int seq = 1;
   for (int i = 0; i <= maxNumber; i++) {
    if(i%2 == 0) {
     System.out.println("Name : " + name + ", urutan(" + seq++ +") : " + i);
     
     // hentikan proses utk jangka waktu tertentu 
     // jika telah menemukan bilangan genap
     sleep((long) (sleepSec*1000));
    }
   }
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
 }
 
 public static void main(String[] args) {
  // create thread masukan parameter constructor 
  GeneratorBilanganGenap generator1 = new GeneratorBilanganGenap("T1", 20, 0.2);
  GeneratorBilanganGenap generator2 = new GeneratorBilanganGenap("T2", 40, 0.2);
  
  // mulai jalankan thread / proses
  generator1.start();
  generator2.start();
 }
}


Dengan meng-create object Thread tidak serta merta akan menjalankan statement pada method Run(). Agar tereksekusi harus menjalankan method start() pada Thread tersebut.

Catatan : method sleep(long miliseconds), berguna untuk menghentikan proses yg dijalankan thread tersebut dalam jangka waktu tertentu dalam hitungan milisecond.

Tidak ada komentar:

Posting Komentar