Apa itu Java Thread?
Sebuah thread sebenarnya adalah proses yang ringan. Tidak seperti banyak bahasa komputer lainnya, Java menyediakan dukungan bawaan untuk pemrograman multithreaded. Program multithreaded berisi dua atau lebih bagian yang dapat berjalan secara bersamaan . Setiap bagian dari program semacam itu disebut thread dan masing-masing thread menentukan jalur eksekusi yang terpisah. Dengan demikian, multithreading adalah bentuk khusus multitasking.
Model Java Thread
Sistem run-time Java bergantung pada utas untuk banyak hal. Thread mengurangi inefisiensi dengan mencegah pemborosan siklus CPU.
Utas ada di beberapa negara. Berikut ini adalah status tersebut:
- New - Ketika kita membuat instance dari kelas Thread, sebuah thread berada dalam keadaan baru.
- Running - TheJava thread dalam kondisi berjalan.
- Suspended - Thread berjalan dapat Suspended/Ditangguhkan , yang untuk sementara menangguhkan aktivitasnya. Sebuah Thread yang ditangguhkan kemudian dapat dilanjutkan, memungkinkannya untuk mengambil dari tempatnya.
- Blocked- Thread java dapat diblokir saat menunggu sumber daya.
- Terminated - Sebuah Thread dapat diakhiri, yang menghentikan eksekusi segera pada waktu tertentu. Setelah sebuah thread diakhiri, itu tidak dapat dilanjutkan.
Jadi, ini semua tentang status Java Thread. Sekarang, mari kita beralih ke topik paling penting dari thread Java yaitu kelas thread dan antarmuka runnable. Kami akan membahas ini satu per satu di bawah ini.
Multithreading di Java: Kelas Thread dan Antarmuka Runnable
Sistem multithreading Java dibangun di atas kelas Thread, metode-metodenya, dan antarmuka pendampingnya, Runnable . Untuk membuat thread baru, program Anda akan baik memperpanjang Thread atau menerapkan yang Runnableinterface .
Kelas Thread mendefinisikan beberapa metode yang membantu mengelola utas. Tabel di bawah ini menampilkan hal yang sama:
Metode | Berarti |
getName | Dapatkan nama Thread |
getPriority | Dapatkan prioritas Thread |
isAlive | Tentukan apakah Thread masih berjalan |
join | Tunggu Thread berakhir |
run | Titik masuk untuk Thread |
sleep | Tangguhkan Thread untuk jangka waktu tertentu |
start |
Mulai Thread dengan memanggil metode menjalankannya
|
Sekarang mari kita lihat bagaimana menggunakan Thread yang dimulai dengan Thread java utama yangdimiliki semua program Java.
Thread Java Utama
Di sini, saya akan menunjukkan cara menggunakan antarmuka Thread dan Runnable untuk membuat dan mengelola utas, dimulai dengan thread java utama, yang dimiliki semua program Java. Jadi, mari kita bahas utas utama.
Mengapa Thread Utama Sangat Penting?
- Karena thread ini memengaruhi thread'anak' lainnya
- Karena itu melakukan berbagai tindakan mematikan
- Itu dibuat secara otomatis ketika program Anda dimulai.
Jadi, itulah thread utama. Mari kita lihat bagaimana kita bisa membuat thread java?
Bagaimana cara membuat Java Thread?
Java memungkinkan Anda membuat thread dengan dua cara berikut:
- Dengan menerapkan yang Runnableinterface .
- Dengan memperluas tersebut Thread
Mari kita lihat bagaimana kedua cara membantu dalam mengimplementasikan Java thread.
Antarmuka Runnable
Cara termudah untuk membuat thread adalah membuat kelas yang mengimplementasikan antarmuka Runnable .
Untuk mengimplementasikan antarmuka Runnable, kelas hanya perlu mengimplementasikan metode tunggal yang disebut run (), yang dideklarasikan seperti ini:
public void run( )
Di dalam run (), kita akan mendefinisikan kode yang merupakan utas baru. Contoh:
Untuk menjalankan run () metode benang, melewati sebuah instance dari MyClass ke Thread di konstruktor ( A konstruktor di Java adalah blok kode yang mirip dengan metode yang disebut ketika sebuah instance dari sebuah objek dibuat ). Inilah cara melakukannya:
Ketika thread dimulai, ia akan memanggil metode run () dari instance MyClass alih-alih mengeksekusi sendiri metode run (). Contoh di atas akan mencetak teks " MyClass running ".
Memperluas Thread Java
Cara kedua untuk membuat thread adalah membuat kelas baru yang memperluas Thread, kemudian menimpa metode run () dan kemudian membuat turunan dari kelas itu. Metode run () adalah apa yang dieksekusi oleh thread setelah Anda memanggil start (). Berikut adalah contoh membuat subkelas Java Thread:
Untuk membuat dan memulai utas di atas, Anda dapat melakukannya seperti ini:
Ketika metode run () dijalankan, ia akan mencetak teks " MyClass running ".
Sejauh ini, kami hanya menggunakan dua utas: main thread utama dan satu main thread anak . Namun, program kami dapat memengaruhi sebanyak mungkin thread yang diperlukan. Mari kita lihat bagaimana kita dapat membuat banyak main thread.
Membuat Banyak Thread
Runnable
name
Thread t;
MyThread String thread){
name = threadname;
t = new Thread(this, name);
System.out.println("New thread: " + t);
t.start();
}
public void run() {
try {
for(int i = 5; i > 0; i--) {
System.out.println(name + ": " + i);
Thread.sleep(1000);
}
}catch (InterruptedException e) {
System.out.println(name + "Interrupted");
}
System.out.println(name + " exiting.");
}
}
class MultiThread {
public static void main(String args[]) {
new MyThread("One");
new MyThread("Two");
new NewThread("Three");
try {
Thread.sleep(10000);
} catch (InterruptedException e) {
System.out.println("Main thread Interrupted");
}
System.out.println("Main thread exiting.");
}
}
Output dari program ini ditunjukkan di sini:
New thread: Thread[One,5,main]
New thread: Thread[Two,5,main]
New thread: Thread[Three,5,main]
One: 5
Two: 5
Three: 5
One: 4
Two: 4
Three: 4
One: 3
Three: 3
Two: 3
One: 2
Three: 2
Two: 2
One: 1
Three: 1
Two: 1
One exiting.
Two exiting.
Three exiting.
Main thread exiting.
Beginilah cara multithreading di Java bekerja. Ini membawa kita ke akhir blog Java Thread saya. Saya harap ini informatif dan bermanfaat bagi Anda.
Comments
Post a Comment