Modul Thread Bagian3
Modul Thread Bagian3
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.
Sinkronisasi dapat dilakukan pada dua bagian yaitu
1. Sinkronisasi Blok
Sintak untuk sinkronisasi blok adalah sebagai berikut :
synchronized (<object reference expression>) {
<code block>
}
2. Sinkronisasi Method
Sintak untuk sinkronisasi method adalah sebagai berikut:
synchronized TypeBalikanMethod NamaMethod ( parameter)
{
}
Prioritas Thread
Dalam Java kita dapat membuat prioritas suatu thread relative terhadapat thread yang lain.
Sehingga thread yang mempunyai prioritas lebih tinggi mempunyai kesempatan lebih besar
untuk mengakses suatu sources
Java Virtual Machine (JVM) memilih thread yang runnable dengan prioritas tertinggi. Semua
thread java mempunyai prioritas dari 1 sampai 10. Prioritas tertinggi 10 dan berakhir dengan 1
sebagai prioritas terendah. Sedangkan prioritas normal adalah 5.
Thread.MIN_PRIORITY = thread dengan prioritas terendah.
Thread.MAX_PRIORITY = thread dengan prioritas tertinggi.
Thread.NORM_PRIORITY = thread dengan prioritas normal.
Saat thread baru dibuat ia mempunyai prioritas yang sama dengan thread yang menciptakannya.
Prioritas thread dapat diubah dengan menggunakan setpriority() method.
setPriority(int priority).
1. 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.
2. Interrupt, Apabila menginginkan suatu thread untuk menghentikan proses, maka perlu
memanggil method interrupt. Interrupt digunakan untuk memberi signal pada thread
untuk menghentikan prosesnya.