Perbezaan Antara Tidur dan Tunggu

Anonim

Sleep vs Wait

Mesin seperti kerana komputer menggunakan bahasa tiruan 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. Sebagai 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 semasa dimulakan. Thread ini melaksanakan kod aplikasi dalam program ini. Ia boleh membuat program berjalan lebih cepat dan membantu dalam prestasi dan kegunaannya terutama apabila banyak thread digunakan.

Mesin maya, seperti mesin maya Java, menyokong konsep multi-threading dengan benang keutamaan yang lebih tinggi dilaksanakan terlebih dahulu melalui benang keutamaan 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 daripada kaedah pengurusan thread adalah tunggu dan kaedah tidur.

Kedua kaedah ini berasingan. Kaedah tidur mengawal pelaksanaan thread dan menangguhkan 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 lari. 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 menangguhkan benang yang sedang dijalankan. Ia menghantar thread semasa ke dalam keadaan tidak larian untuk beberapa tempoh masa. Ia boleh menjejaskan tingkah laku aplikasi yang multi-threaded kerana ia menyimpan kunci penyegerakan thread semasa. Setelah benang dalam blok disegerakkan, tiada benang lain boleh masuk ke blok.

Ringkasan:

1. "Tidur" adalah kaedah pengurusan thread yang ditakrifkan sebagai kaedah statik sementara "menunggu" adalah kaedah pengurusan thread yang ditentukan dalam kelas Object.

2. Tidur adalah kaedah yang mengeksekusi benang sementara tunggu adalah kaedah yang mengeksekusi objek.

3. Tidur menyimpan kunci penyegerakan benang semasa dan mempengaruhi kelakuan aplikasi semasa menunggu tidak.

4. Tidur mengawal pelaksanaan thread dan tidak membenarkan benang lain dalam blok disegerakkan sementara menunggu tidak mengendalikan pelaksanaan benang untuk membiarkan benang lain berjalan.