Thread di Java (Panduan Lengkap)

- Penulis

Jumat, 12 April 2024 - 02:46 WIB

facebook twitter whatsapp telegram line copy

URL berhasil dicopy

facebook icon twitter icon whatsapp icon telegram icon line icon copy

URL berhasil dicopy

[ad_1]

Apa itu Thread di Java?

Thread di Java adalah arah atau jalur yang diambil saat suatu program sedang dijalankan. Secara umum, semua program memiliki setidaknya satu thread, yang dikenal sebagai thread utama, yang disediakan oleh JVM atau Java Digital Gadget pada awal eksekusi program. Pada titik ini, ketika thread utama disediakan, metode primary() dipanggil oleh thread utama.

ADVERTISEMENT

SCROLL TO RESUME CONTENT

Thread adalah thread eksekusi dalam suatu program. Beberapa thread eksekusi dapat dijalankan secara bersamaan oleh aplikasi yang berjalan di Java Digital Gadget. Prioritas setiap thread berbeda-beda. Thread dengan prioritas lebih tinggi dieksekusi sebelum thread dengan prioritas lebih rendah.

Thread sangat penting dalam program ini karena memungkinkan beberapa operasi dilakukan dalam satu metode. Setiap thread dalam program sering kali memiliki penghitung program, tumpukan, dan variabel lokalnya sendiri.

Related Posts

Thread di Java memungkinkan eksekusi bersamaan, membagi tugas untuk meningkatkan kinerja. Ini penting untuk menangani operasi seperti I/O dan komunikasi jaringan secara efisien. Memahami thread sangat penting untuk aplikasi Java yang responsif. Mendaftarlah di Kursus Java untuk menguasai threading dan membuat program multithread yang efisien.

Membuat Thread di Java

Thread di Java dapat dibuat dengan dua cara berikut:

  • Memperluas kelas java.lang.Thread

Dalam hal ini, thread dibuat oleh kelas baru yang memperluas kelas Thread, sehingga membuat turunan dari kelas tersebut. Metode run() menyertakan fungsionalitas yang seharusnya diterapkan oleh Thread.

Di bawah ini adalah contoh membuat thread dengan memperluas kelas java.lang.Thread.

Thread di Jawa

Keluaran

Threadsinjava_output

Di sini, get started() digunakan untuk membuat thread baru dan membuatnya dapat dijalankan. Thread baru dimulai di dalam metode void run().

  • Menerapkan antarmuka Runnable

Ini adalah cara mudah membuat thread di antara keduanya. Dalam hal ini, sebuah kelas dibuat untuk mengimplementasikan antarmuka runnable dan kemudian metode run().

Kode untuk mengeksekusi Thread harus selalu ditulis di dalam metode run().

Baca Juga:  Resep dan Antiamis Cumi -cumi Hitam gurih, pedoman lengkap untuk pemula

Berikut kode untuk membuat Anda memahaminya.

Antarmuka %20 yang dapat dijalankan

Keluaran

Dapat dijalankan%20interface_output

Metode get started() digunakan untuk memanggil metode void run(). Saat get started() dipanggil, tumpukan baru diberikan ke thread, dan run() dipanggil untuk memperkenalkan thread baru ke dalam program.

Ingin Pekerjaan Pengembangan Perangkat Lunak Teratas? Mulai di sini!

Pengembang Tumpukan Penuh – MERN StackJelajahi Program

Ingin Pekerjaan Pengembangan Perangkat Lunak Teratas?  Mulai di sini!

Siklus Hidup Thread di Java

Siklus Hidup Benang di Jawa mengacu pada transformasi keadaan benang yang dimulai dengan kelahirannya dan berakhir dengan kematiannya. Ketika example thread dibuat dan dieksekusi dengan memanggil metode get started() dari kelas Thread, thread memasuki standing runnable. Ketika metode sleep() atau wait() dari kelas Thread dipanggil, thread memasuki mode non-runnable.

Thread kembali dari keadaan non-runnable ke keadaan runnable dan memulai eksekusi pernyataan. Thread mati ketika keluar dari proses run(). Di Java, transformasi standing thread ini disebut sebagai siklus hidup Thread.

Pada dasarnya ada 4 tahap dalam siklus hidup sebuah thread, seperti yang diberikan di bawah ini:

  1. Baru
  2. Dapat dijalankan
  3. Berlari
  4. Diblokir (keadaan tidak dapat dijalankan)
  5. Mati

benang siklus hidup

Saat kita menggunakan kelas Thread untuk membangun entitas thread, thread tersebut lahir dan didefinisikan sebagai berada dalam standing Baru. Artinya, ketika sebuah thread dibuat, ia memasuki keadaan baru, namun metode get started() pada example tersebut belum dipanggil.

Sebuah thread dalam keadaan runnable disiapkan untuk mengeksekusi kode. Saat fungsi get started() thread baru dipanggil, maka thread tersebut memasuki standing runnable.

Dalam lingkungan runnable, thread siap dieksekusi dan menunggu ketersediaan prosesor (waktu CPU). Artinya, thread sudah memasuki antrian (baris) thread yang menunggu eksekusi.

Menjalankan menyiratkan bahwa prosesor (CPU) telah menetapkan slot waktu ke thread untuk dieksekusi. Saat thread dari standing runnable dipilih untuk dieksekusi oleh penjadwal thread, thread tersebut akan bergabung dengan standing berjalan.

Dalam keadaan berjalan, prosesor memberikan waktu kepada thread untuk mengeksekusi dan menjalankan prosedur yang dijalankannya. Ini adalah keadaan di mana thread langsung menjalankan operasinya. Hanya dari standing runnable, thread akan memasuki standing berjalan.

Ketika thread masih hidup, yaitu objek kelas thread tetap ada, namun tidak dapat dipilih untuk dieksekusi oleh penjadwal. Sekarang tidak aktif.

Ketika fungsi run() thread mengakhiri eksekusi kalimat, maka secara otomatis mati atau memasuki keadaan mati. Artinya, ketika thread keluar dari proses run(), thread tersebut dihentikan atau dimatikan. Ketika fungsi prevent() dipanggil, thread juga akan mati.

Prioritas Thread Java

Jumlah layanan yang ditugaskan pada thread tertentu disebut sebagai prioritasnya. Setiap thread yang dihasilkan di JVM diberi prioritas. Skala prioritas berkisar dari 1 hingga 10.

1 dikenal sebagai prioritas terendah.

5 dikenal sebagai prioritas standar.

10 mewakili tingkat prioritas tertinggi.

Prioritas thread utama diatur ke 5 secara default, dan setiap thread anak akan memiliki prioritas yang sama dengan thread induknya. Kami memiliki kemampuan untuk menyesuaikan prioritas thread apa pun, apakah itu thread utama atau thread yang ditentukan pengguna. Disarankan untuk menyesuaikan prioritas menggunakan konstanta kelas Thread, yaitu sebagai berikut:

  1. Utas.MIN_PRIORITY;
  2. Utas.NORM_PRIORITY;
  3. Utas.MAX_PRIORITY;

Di bawah ini adalah program untuk memahami Prioritas Thread.

Prioritas Utas

Keluaran

ThreadPriority_output

Konstruktor yang Paling Umum Digunakan di Kelas Thread

Kelas Thread mencakup konstruktor dan metode untuk membuat dan mengoperasikan thread. Thread memperluas Object dan mengimplementasikan antarmuka Runnable.

Konstruktor Thread() default digunakan untuk membuat kelas Thread baru.

Benang%28%29

Keluaran

Utas%28%29_keluaran

Objek thread dibuat dan namanya diberikan.

Utas%28Stringstr%29

Keluaran

Utas%28Stringstr_output%29

Dalam tipe konstruktor ini, referensi Runnable diteruskan dan objek Thread baru dibuat.

Thread%28Runnabler%29

Keluaran

Utas%28Runnabler%29_output

  • Thread (R yang dapat dijalankan, String r)

Kita dapat menggunakan konstruktor ini untuk menghasilkan objek Thread baru dengan meneruskan referensi Runnable sebagai parameter pertama dan juga memberikan nama untuk thread yang baru dibuat.

Utas%28RunnablerStringr%29

Keluaran

Utas%28RunnablerStringr%29_output

Mempersiapkan Karir Blockchain Anda untuk tahun 2024

Webinar Free of charge | 5 Des, Selasa | jam 9 malamDaftar sekarang

Mempersiapkan Karir Blockchain Anda untuk tahun 2024

Multithread di Jawa

Di Java, multithreading adalah metode menjalankan dua atau lebih thread secara bersamaan untuk memaksimalkan pemanfaatan CPU. Oleh karena itu, sering disebut sebagai Concurrency di Java. Setiap thread berjalan secara paralel dengan thread lainnya. Karena beberapa thread tidak menetapkan space memori yang berbeda, maka thread tersebut menghemat memori. Selain itu, peralihan antar thread membutuhkan waktu lebih sedikit.

Di Java, multithreading meningkatkan struktur program dengan membuatnya lebih sederhana dan mudah dinavigasi. Thread umum ini dapat digunakan dalam aplikasi media server tinggi untuk dengan mudah mengubah atau meningkatkan konfigurasi struktur kompleks ini.

Baca Juga:  Lembar spesifikasi lengkap Honor X60i bocor

Berikut adalah contoh Multithreading di Java.

Multithread

Keluaran

Multithreading_Output

Cara Menangani Kebuntuan Thread

Impasse adalah situasi di mana dua atau lebih thread terjebak menunggu satu sama lain tanpa batas waktu. Ketika beberapa thread memerlukan kunci yang sama tetapi menerimanya dalam urutan terpisah, kebuntuan terjadi. Dalam program multithread Java, kondisi kebuntuan dapat terjadi karena kata kunci yang disinkronkan menyebabkan thread pelaksana diblokir saat menunggu kunci, terkait dengan objek yang ditentukan.

Untuk mencegah kebuntuan, pastikan bahwa ketika Anda mendapatkan beberapa kunci, Anda selalu memperolehnya dalam urutan yang sama di semua thread. Berikut adalah contoh kode yang mungkin mengakibatkan kebuntuan.

Jalan buntu

Keluaran

Kebuntuan_output

Kode ini mungkin akan mengakibatkan kebuntuan untuk dua thread yang dihasilkan. Kunci pada objek pemanggil1 dan pemanggil2 sudah dimiliki oleh masing-masing thread sehingga memaksa thread menunggu satu sama lain untuk membuka kunci tersebut. Ini akan memicu kebuntuan dan mencegah pemanggilan fungsi callMe().

Siap bekerja dan dapatkan bantuan pekerjaan lengkap dengan memilih opsi karier terpanas dekade ini. Raih pekerjaan impian Anda dalam waktu singkat dengan mendaftar di Program Jaminan Pekerjaan Pengembang Java Complete Stack kami Sekarang!

Java tidak diragukan lagi merupakan salah satu bahasa pemrograman paling populer dan menjanjikan saat ini. Dan jika Anda ingin menguasainya, daftarlah di Kursus Pelatihan Sertifikasi Java Simplilearn. Mulailah belajar hari ini dan ciptakan prestasi di dunia pemrograman hari ini!

FAQ

1) Apa itu thread di Jawa?

Thread menunjukkan jalur eksekusi yang berbeda dalam suatu program. Di dalam Mesin Digital Java, aplikasi dapat memelihara beberapa rangkaian eksekusi yang beroperasi secara bersamaan. Setiap thread diberi prioritas, yang selanjutnya memengaruhi urutan eksekusinya.

2) Apa contoh thread di Java?

Contoh ilustrasi thread Java dapat diamati dengan menggunakan 'Runnable Interface'.

3) Apa itu threading di Jawa?

Thread menandakan jalur eksekusi dalam suatu program. Di dalam Mesin Digital Java, sebuah aplikasi dapat menghosting banyak rangkaian eksekusi yang berjalan secara bersamaan. Setiap thread mempunyai prioritas, dan thread dengan prioritas lebih tinggi akan didahulukan dibandingkan thread dengan prioritas lebih rendah.

[ad_2]

Sumber: www.simplilearn.com



Follow WhatsApp Channel sekitarkita.id untuk update berita terbaru setiap hari Follow

Berita Terkait

10 Lodge Terbaik Dekat Danau Toba untuk Liburan Santai 2025
Orang Tunggu Sendiri Patuh 8 Aturan Kuat Ini, Menurut Psikologi
Daftar 8 Tim Lolos Babak 32 Besar Piala Dunia U17 2025, Apakah Timnas Indonesia Dapat Ikut?
Mengapa Fairing Motor Sport 150 Kini Menghilang dari Showroom?
Kucing Dapat Alami Demensia! 8 Tanda yang Perlu Diwaspadai
Ban Lebih Lebar: Manfaat dan Risikonya
Jawa Timur Juara Nusantaraya di ICCF 2025, Buktikan Kepemimpinan Ekonomi Kreatif Nasional
Andai Tidak Dapat Lakukan 8 Hal Ini, Anda Mungkin saja Tua Lebih Cepat, Tutur Psikologi

Berita Terkait

Rabu, 10 Desember 2025 - 23:59 WIB

10 Lodge Terbaik Dekat Danau Toba untuk Liburan Santai 2025

Rabu, 10 Desember 2025 - 23:14 WIB

Orang Tunggu Sendiri Patuh 8 Aturan Kuat Ini, Menurut Psikologi

Rabu, 10 Desember 2025 - 21:44 WIB

Daftar 8 Tim Lolos Babak 32 Besar Piala Dunia U17 2025, Apakah Timnas Indonesia Dapat Ikut?

Rabu, 10 Desember 2025 - 20:59 WIB

Mengapa Fairing Motor Sport 150 Kini Menghilang dari Showroom?

Rabu, 10 Desember 2025 - 19:29 WIB

Kucing Dapat Alami Demensia! 8 Tanda yang Perlu Diwaspadai

Berita Terbaru