Sebuah thread, secara definisi adalah sebuah proses ringan. Mereka digunakan untuk meningkatkan fungsionalitas dan performansi dengan cara melakukan beberapa tugas pada saat yang sama, yaitu bersamaan. Ada dua metode untuk menerapkan thread di dalam Java,
- penerapan sebuah antarmuka
- perpanjangan sebuah class
Karena sekarang ini adalah sebuah tutorial pemrograman Java tingkat menengah, saya berasumsi bahwa pembaca sudah kenal dengan konsep-konsep dasar Object Oriented Paradigm dan mengerti dengan istilah seperti 'extending', 'interface' dan 'class'. Sekarang anda mulai bertanya mengapa ada dua cara membuat thread. Ini dikarenakan jika sebuah class sudah menjadi sebuah class turunan dari beberapa class selain 'Thread', maka ini tidak dapat memperpanjang 'Thread' karena beberapa turunan tidak diperbolehkan di dalam pemrograman bahasa Java. Jadi, dalam kasus seperti itu kita gunakan antarmuka 'Runnable' sebagai gantinya.
Sekarang, mari kita masuk ke bagian pengkodean bagaimana sebenarnya cara membuat thread. Metode pertama adalah memperpanjang atau menurunkan class 'Thread'. Class 'Thread' didefinisikan di dalam paket java.lang, dimana perlu diimpor. Coba lihat pada kode dibawah untuk mendapat ide yang lebih baik,
import java.lang.*;
public class myExample extends Thread
{
public void run()
{
....
}
}
Cara yang lain untuk melakukan hal ini dengan cara menerapkan 'Runnable', seperti terlihat dibawah,
import java.lang.*;
public class myExample implements Runnable
{
Thread T;
public void run()
{
....
}
}
Perhatikan pada kedua metode menggunaan fungsi 'run()', dimana bertanggung jawab pada kerja thread. Antarmuka 'Runnable' sebenarnya bukan apa-apa tetapi sebuah class yang berisi hanya satu metode abstrak, 'public abstract void run();'. Ingatlah sebuah antarmuka hanya menyediakan sebuah rancangan framework atas class yang dapat diterapkan. Ini juga menarik untuk dicatat bahwa sebenarnya class 'Thread' juga menerapkan antarmuka 'Runnable'.
Referensi :-
http://www.javaranch.com
http://www.javaworld.com
http://www.programmersheaven.com
|