Perbedaan antara tidur dan tunggu

Perbedaan antara tidur dan tunggu

Tidur vs Tunggu

Mesin seperti komputer menggunakan bahasa buatan untuk membuat program, mengendalikannya, dan memungkinkan mereka untuk mengkomunikasikan 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 sendiri, masing -masing dengan kelemahan dan kekuatannya sendiri, dan setiap mesin virtual menjalankan utas saat dimulai. Utas ini menjalankan kode aplikasi dalam program. Itu 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 yang lebih tinggi yang dieksekusi terlebih dahulu di atas utas prioritas yang lebih rendah memastikan pembagian yang adil dari pemrosesan waktu.

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

Kedua metode ini terpisah. Metode tidur mengontrol pelaksanaan utas dan menunda tindakan berikutnya sementara metode tunggu tidak mengontrol pelaksanaan utas untuk membiarkan utas lain berjalan.

Metode tunggu didefinisikan di kelas objek dan mengirimkan utas saat ini ke keadaan yang tidak dapat dijalankan. Itu digunakan bersama dengan memberi tahu dan memberi tahu semua metode untuk membiarkan kode eksekusi suatu objek berhenti sementara dan untuk melanjutkannya nanti.

Ini bekerja dengan memanggil objek kunci dan membiarkan utas saat ini disinkronkan dengannya. Tunggu akan melepaskan kunci dan akan menempatkan utas di daftar tunggu dan membiarkan utas lainnya disinkronkan dengan itu menyebabkan utas asli bangun. Programmer menentukan waktu tertentu saat eksekusi dimulai lagi.

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

Ringkasan:

1."Sleep" adalah metode manajemen utas yang didefinisikan sebagai metode statis sementara "tunggu" adalah metode manajemen utas yang didefinisikan dalam kelas objek.
2.Tidur adalah metode yang mengeksekusi utas saat menunggu adalah metode yang mengeksekusi objek.
3.Tidur menjaga kunci sinkronisasi dari utas saat ini dan mempengaruhi perilaku aplikasi sementara menunggu tidak.
4.Kontrol Tidur Eksekusi utas dan tidak mengizinkan utas lain di blok yang disinkronkan sementara menunggu tidak mengontrol eksekusi utas agar utas lain berjalan.