Perbedaan Antara Tidur dan Menunggu

Tidur vs Tunggu

Mesin seperti komputer menggunakan bahasa buatan untuk membuat program, mengendalikannya, dan memungkinkan mereka untuk berkomunikasi instruksi dan mengekspresikan algoritma. Bahasa ini disebut bahasa pemrograman.

Sebelum munculnya komputer, bahasa pemrograman sudah digunakan dalam alat tenun dan piano. Karena penggunaan komputer menjadi lebih umum, sekarang ada beberapa bahasa pemrograman yang digunakan.

Ada beberapa bahasa komputer termasuk bahasa tingkat tinggi seperti: BASIC, C, C ++, Fortran, Pascal, dan Java. Setiap mesin virtual dan CPU memiliki bahasa komputer masing-masing, masing-masing dengan kelemahan dan kelebihannya sendiri, dan setiap mesin virtual menjalankan utas ketika dimulai. Utas ini mengeksekusi kode aplikasi dalam program. Ini dapat membuat program berjalan lebih cepat dan membantu dalam kinerja dan kegunaannya terutama ketika banyak utas digunakan.

Mesin virtual, seperti mesin virtual Java, mendukung konsep multi-threading dengan utas prioritas lebih tinggi yang dijalankan terlebih dahulu atas utas prioritas rendah memastikan pembagian waktu yang adil dalam pemrosesan.

Ia menggunakan metode manajemen utas yang dapat membuat, mengontrol, dan menghentikan aliran kontrol atau utas di ruang bersama. Dua metode manajemen utas ini adalah metode menunggu dan metode tidur.

Kedua metode ini terpisah. Metode sleep mengontrol eksekusi utas dan menunda tindakan selanjutnya, sementara metode menunggu tidak mengontrol pelaksanaan utas untuk membiarkan utas lain berjalan.

Metode menunggu didefinisikan dalam kelas Object dan mengirimkan utas saat ini ke keadaan tidak bisa dijalankan. Ini digunakan bersama-sama dengan notify dan notifyAll methods untuk membiarkan kode eksekusi suatu objek berhenti sementara dan untuk melanjutkannya nanti.

Ini bekerja dengan memanggil objek kunci dan membiarkan utas saat ini menyinkronkan dengannya. Tunggu akan melepaskan kunci dan akan menempatkan utas dalam daftar tunggu dan membiarkan utas lain menyinkronkannya sehingga membuat utas asli terbangun. Programmer menentukan waktu spesifik ketika eksekusi dimulai lagi.

Metode tidur, di sisi lain, didefinisikan sebagai metode statis. Ini menunda eksekusi utas dan bukan objek serta menangguhkan utas yang sedang dieksekusi. Ini mengirimkan utas saat ini ke keadaan tidak bisa dijalankan untuk beberapa periode waktu. Ini dapat mempengaruhi perilaku aplikasi yang multi-utas karena menjaga kunci sinkronisasi utas saat ini. Setelah utas berada di blok yang disinkronkan, tidak ada utas lain yang bisa masuk blok.

Ringkasan:

1. "Sleep" adalah metode manajemen thread yang didefinisikan sebagai metode statis sementara "tunggu" adalah metode manajemen thread yang didefinisikan dalam kelas Object.
2.Sleep adalah metode yang mengeksekusi utas sementara menunggu adalah metode yang mengeksekusi objek.
3.Sleep menjaga kunci sinkronisasi utas saat ini dan memengaruhi perilaku aplikasi sementara menunggu tidak.
4.Sleep mengontrol eksekusi utas dan tidak mengizinkan utas lain dalam blok yang disinkronkan sementara menunggu tidak mengontrol pelaksanaan utas untuk membiarkan utas lain berjalan.