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.
Ada dua cara
yang bisa digunakan dalam membuat sebuah thread, yaitu :
- Membuat subclass dari thread Untuk menjalankan
thread, dapat dilakukan dengan memanggil method start(). Saat start()
dijalankan, maka sebenarnya method run() dari class akan dijalankan. Jadi untuk
membuat thread, harus mendefinisikan method run() pada definisi class.
Konstruktor dari cara ini adalah : ClassThread namavar = new ClassThread();Namavar.start();Atau dapat juga langsung dengan cara:New ClassThread().start();
- Mengimplementasikan interface Runnable Cara ini merupakan cara yang paling sederhana dalam membuat thread. Runnable merupakan unit abstrak, yaitu kelas yang mengimplementasikan interface ini hanya cukup mengimplementasikan fungsi run(). Dalam mengimplementasi fungsi run(), kita akan mendefinisikan instruksi yang membangun sebuah thread. Konstruktor dari cara ini adalah :
ObjekRunnable objek = new ObjekRunnable();
Thread namavar = new Thread(Objek Runnable);
Atau dengan cara singkat seperti :
New Thread(new ObjekRunnable());
- Daemon Dan User Thread Ada dua Macam thread dalam Java, yaitu daemon dan user thread. Daemon thread merupakan thread yang siklus hidupnya tergantung pada thread utama atau induk, sehingga apabila thread induk berakhir, maka otomatis thread-thread daemon juga ikut berakhir. Sedangkan user thread memiliki sifat berbeda, dimana apabila thread utama sudah selesai, maka user thread akan terus dijalankan.
- Sleep Mengatur thread untuk menghentikan prosesnya sejenak dan memberi kesempatan pada thread atau proses lain. Sleep dilakukan dengan cara memanggil method : Sleep(long waktu); Waktu untuk method ini merupakan tipe long dalam milisekon.
- Interrupt Apabila menginginkan suatu thread untuk menghentikan proses, maka perlu memanggil method interrupt. Interrupt digunakan untuk memberi signal pada thread untuk menghentikan prosesnya.
- Synchronized Sinkronisasi adalah method atau blok yang memiliki tambahan keyword synchronized, sehingga apabila dijalankan maka hanya satu thread pada suatu waktu yang dapat menjalankan method atau blok program. Thread lain akan menunggu thread yang sedang mengeksekusi method ini hingga selesai. Mekanisme sinkronisasi penting apabila terjadi pembagian sumber daya maupun data di antara thread-thread. Sinkronisasi juga melakukan penguncian pada sumber daya atau data yang sedang diproses
EmoticonEmoticon