>> Contoh membuat
thread sederhana dengan membuat kelas yang mengimplementasikan interface
runnable, menginstansi objek dengan kelas thread dengan objek runnable sebagai
parameter, memanggil method start() dari objek thread.
berikut adalah coding nya :
/**
*
* @author pratnya puji binti
*/
*
* @author pratnya puji binti
*/
public class Thread1
implements Runnable
{
int x=1;
int identifier;
public Thread1(int i){
identifier=i;
}
public void run(){
while (true) {
System.out.println("thread ke
"+ identifier + " loop ke " + x);
x++;
}
}
public static void main(String[] args) {
Thread1 MyThread1 = new Thread1 (1);
Thread1 MyThread2 = new Thread1(2);
Thread t1= new Thread (MyThread1);
Thread t2= new Thread (MyThread2);
t1.start();
t2.start();
}
}
Hasilnya adalah
sebagai berikut :
Penjelasan program
:
Kelas Thread adalah
kelas yang mengimplementasikan interface Runnable. Method Run adalah method
pada interface Runnable yang akan dijalankan secara paralel. Instansiasi dari
kelas thread1 akan dijadikan parameter pada instansi objek thread. Program akan
menjalankan method run milik objek t1 dan t2 secara paralel dengan cara
memanggil method start() milik objek instant dari thread.
>> Berikutnya teknik
penciptaan thread dengan membuat kelas atau objek yang mewarisi kelas thread,
melakukan overriding terhadap method run() pada kelas thread dan memanggil
method start() dari objek tersebut. Contoh listing program dapat dilihat pada
program berikut.
berikut adalah coding nya :
/**
*
* @author pratnya
binti puji
*/
public class Thread2 extends Thread
{
public int x= 1;
public int identifier;
/*konstruktor*/
public Thread2(int i){
identifier = i;
}
public void run(){
try {
while
(true){
System.out.println("thread "+ identifier+ " : loop ke
" + x);
x++;
}
}
catch(Exception
e){
e.printStackTrace();
}
}
public static void
main(String[] args) {
Thread2 t1 =
new Thread2 (1);
Thread2 t2 =
new Thread2 (2);
Thread2 t3 =
new Thread2 (3);
t1.start();
t2.start();
t3.start();
}
}
Hasilnya adalah
sebagai berikut :
Untuk mengeksekusi
objek thread, sebenarnya yang di eksekusi secara paralel adalah method run yang
di identifikasikan pada kelas objek tersebut. Namun, cara pemanggilan method
run() ini adalah dengan cara memanggil method start() yang dimiliki kelas
thread.
Dalam contoh diatas, method run yang
dimiliki objek t1 bertipe kelas thread1 dipaggil dengan memanggil method start
dari t1, yang sebenarnya milik dari kelas thread (t1 mewarisi thread)
Pada eksekusi program diatas,
eksekusi t1.start(),eksekusi t2.start(),eksekusi t3.start() berjalan secara
paralel