Tidur vs Tunggu
Mesin seperti komputer menggunakan bahasa buatan untuk membuat program, mengawalnya, dan membolehkan mereka untuk berkomunikasi arahan dan mengungkapkan algoritma. Bahasa ini dipanggil bahasa pengaturcaraan.
Sebelum kedatangan komputer, bahasa pengaturcaraan telah digunakan dalam alat tenun dan piano. Kerana penggunaan komputer menjadi lebih biasa, kini terdapat beberapa bahasa pengaturcaraan yang digunakan.
Terdapat beberapa bahasa komputer termasuk bahasa peringkat tinggi seperti: BASIC, C, C ++, Fortran, Pascal, dan Java. Mesin maya dan CPU masing-masing mempunyai bahasa komputer sendiri, masing-masing dengan kelemahan dan kekuatannya sendiri, dan setiap mesin maya menjalankan thread apabila dimulakan. Thread ini melaksanakan kod aplikasi dalam program ini. Ia boleh membuat program berjalan lebih cepat dan membantu dalam prestasi dan kegunaannya terutamanya apabila pelbagai thread digunakan.
Mesin maya, seperti mesin maya Java, menyokong konsep multi-threading dengan benang keutamaan yang lebih tinggi dilaksanakan terlebih dahulu melalui benang prioriti yang lebih rendah yang memastikan pembahagian masa pemprosesan yang adil.
Ia menggunakan kaedah pengurusan thread yang boleh membuat, mengawal, dan menamatkan aliran kawalan atau benang dalam ruang yang dikongsi. Dua kaedah pengurusan thread adalah menunggu dan kaedah tidur.
Kedua-dua kaedah adalah berasingan. Kaedah tidur mengawal pelaksanaan thread dan penangguhan tindakan seterusnya manakala kaedah menunggu tidak mengendalikan pelaksanaan thread untuk membiarkan benang lain berjalan.
Kaedah tunggu ditakrifkan dalam kelas Objek dan menghantar thread semasa ke dalam keadaan tidak runnable. Ia digunakan bersama-sama dengan memberitahu dan memberitahu semua kaedah untuk membiarkan kod pelaksanaan sesuatu objek dijeda sementara dan untuk meneruskannya kemudian.
Ia berfungsi dengan memanggil objek kunci dan membiarkan thread semasa disegerakkan dengannya. Tunggu akan melepaskan kunci dan akan meletakkan thread dalam senarai menunggu dan benarkan benang lain disegerakkan dengannya menyebabkan benang asal untuk bangun. Programmer menentukan masa tertentu apabila pelaksanaan bermula semula.
Kaedah tidur, sebaliknya, ditakrifkan sebagai kaedah statik. Ia menangguhkan pelaksanaan thread dan bukan objek serta menggantung thread yang sedang dilaksanakan. Ia menghantar thread semasa ke dalam keadaan tidak lari untuk beberapa tempoh masa. Ia boleh menjejaskan tingkah laku aplikasi yang multi-threaded kerana ia menyimpan kunci penyegerakan thread semasa. Sebaik sahaja benang berada dalam blok yang disegerakkan, tiada benang lain boleh memasuki blok.
Ringkasan:
1. "Tidur" adalah kaedah pengurusan thread yang ditakrifkan sebagai kaedah statik manakala "menunggu" adalah kaedah pengurusan thread yang ditentukan dalam kelas Object.
2.Sleep adalah kaedah yang mengeksekusi thread sementara tunggu adalah metode yang mengeksekusi objek.
3.Sleep menyimpan kunci penyelarasan benang semasa dan mempengaruhi kelakuan aplikasi semasa menunggu tidak.
4.Sleep mengawal pelaksanaan thread dan tidak benarkan benang lain dalam blok disegerakkan sementara menunggu tidak mengendalikan pelaksanaan benang untuk membiarkan benang lain berjalan.