Sabtu, 20 Juli 2013

Thread pada Java

Thread merupakan kemampuan yang disediakan oleh Java untuk membuat aplikasi yang tangguh, karena thread dalam program memiliki fungsi dan tugas tersendiri. Dengan adanya thread, dapat membuat program yang lebih efisien dalam hal kecepatan maupun penggunaan sumber daya, karena kita dapat membagi proses dalam aplikasi kita pada waktu yang sama. Thread umumnya digunakan untuk pemrograman multitasking, networking, yang melibatkan pengaksesan ke sumber daya secara konkuren. (http://jurnalkomputer.com/attachments/029_PEMROGRAMAN%20JAVA%20-%20THREAD.pdf)

Ada 2 cara untuk membuat thread pada java :
  1. Menurunkan (extend) class Thread
  2. Mengimplementasikan interface Runnable
Menurunkan (extend) class Thread
class PrintNameThread extends Thread
{
PrintNameThread(String name)
{
super(name);
start();
}
public void run()
{
String name = getName();
for(int i=0; i<100; i++)
{
System.out.print(name);
}
}
}
class TestThread
{
public static void main(String [] args)
{
PrintNameThread pnt1 = new PrintNameThread(“A”);
PrintNameThread pnt2 = new PrintNameThread(“B”);
PrintNameThread pnt3 = new PrintNameThread(“C”);
PrintNameThread pnt4 = new PrintNameThread(“D”);
}
}
Mengimplementasikan interface Runnable
class PrintNameThread2 implements Runnable
{
Thread thread;
PrintNameThread2(String name)
{
thread = new Thread(this, name);
thread.start();
}
public void run()
{
String name = thread.getName();
for(int i=0; i<100; i++)
{
System.out.print(name);
}
}
}
class TestThread2
{
public static void main(String [] args)
{
new PrintNameThread2(“A”);
new PrintNameThread2(“B”);
new PrintNameThread2(“C”);
new PrintNameThread2(“D”);
}
}
Contoh lainnya :
public class PrintNameThreadLat extends Thread
{
int time;
public PrintNameThreadLat(String name, int time)
{
super(name);
this.time = time;
start();
}
public void mulai(int time)
{
try
{
String name = getName();
for(int i=0; i<10; i++)
{
Thread.sleep(time);
System.out.println(name);
}
System.out.println(“Thread ” + name + ” selesai.”);
}
catch(Exception e)
{
e.printStackTrace();
}
}
public void run()
{
mulai(time);
}
public static void main(String [] args)
{
new PrintNameThreadLat(“A”,1000);
new PrintNameThreadLat(“B”,4000);
}
}
Sekian :)

Tidak ada komentar:

Posting Komentar