Starpība starp miegu un gaidīšanu

Gulēt vs gaidīt

Mašīnas, piemēram, datori, mākslīgo valodu izmanto, lai izveidotu programmas, vadītu tās un ļautu tām sazināties ar instrukcijām un izteikt algoritmus. Šo valodu sauc par programmēšanas valodu.

Pirms datoru parādīšanās programmēšanas valodas jau tika izmantotas stellēs un klavierēs. Tā kā datoru lietošana kļuva izplatītāka, tagad tika izmantotas vairākas programmēšanas valodas.

Ir vairākas datoru valodas, ieskaitot augsta līmeņa valodas, piemēram: BASIC, C, C ++, Fortran, Pascal un Java. Katrai virtuālajai mašīnai un CPU ir sava datora valoda, katrai ir savas vājās un stiprās puses, un katra virtuālā mašīna palaiž pavedienu, kad tā tiek palaista. Šis pavediens izpilda lietojumprogrammas kodu programmā. Tas var padarīt programmu palaišanu ātrāku un palīdzēt tās darbībā un lietderībā, īpaši, ja tiek izmantoti vairāki pavedieni.

Virtuālās mašīnas, piemēram, Java virtuālā mašīna, atbalsta vairāku pavedienu koncepciju ar augstākas prioritātes pavedieniem, kas vispirms tiek izpildīti virs zemākas prioritātes pavedieniem, nodrošinot taisnīgu laika apstrādes sadalījumu.

Tas izmanto pavedienu pārvaldības metodes, kuras var izveidot, kontrolēt un pārtraukt vadības ierīču vai pavedienu plūsmu koplietotā telpā. Divas no šīm pavedienu pārvaldības metodēm ir gaidīšanas un miega metodes.

Šīs divas metodes ir atsevišķas. Miega metode kontrolē pavediena izpildi un aizkavē nākamo darbību, kamēr gaidīšanas metode nekontrolē pavediena izpildi, lai ļautu citiem pavedieniem darboties.

Gaidīšanas metode ir definēta Object klasē un nosūta pašreizējo pavedienu stāvoklī, kuru nevar palaist. Tas tiek izmantots kopā ar paziņošanas un paziņošanas visām metodēm, lai objekta izpildes kodam īslaicīgi ļautu pauzēt un vēlāk to atsākt.

Tas darbojas, izsaucot bloķēšanas objektu un ļaujot pašreizējam pavedienam sinhronizēties ar to. Wait atlaidīs bloķēšanu un ievietos pavedienu gaidīšanas sarakstā un ļaus citiem pavedieniem sinhronizēties ar to, izraisot sākotnējā pavediena pamošanos. Programmētājs nosaka konkrētu laiku, kad izpilde tiek sākta no jauna.

Turpretī miega metode tiek definēta kā statiska metode. Tas aizkavē pavedienu izpildi, nevis objektus, kā arī aptur pavedienu, kas tiek izpildīts. Tas kādu laiku sūta pašreizējos pavedienus neiespējamā stāvoklī. Tas var ietekmēt vairāku vītņu lietojumprogrammas, jo tas saglabā pašreizējā pavediena sinhronizācijas slēdzenes. Kad pavediens atrodas sinhronizētā blokā, neviens cits pavediens nevar iekļūt blokā.

Kopsavilkums:

1. “Miega režīms” ir pavedienu pārvaldības metode, kas tiek definēta kā statiska metode, savukārt “gaidīšana” ir pavedienu pārvaldības metode, kas ir definēta Object klasē..
2.Miegs ir metode, kas izpilda pavedienus, kamēr gaidīšana ir metode, kas izpilda objektus.
3. Miega režīms saglabā pašreizējā pavediena sinhronizācijas slēdzenes un ietekmē programmu izturēšanos, kamēr gaidīšana to nedara.
4. Miega režīms kontrolē pavediena izpildi un neatļauj sinhronizētā blokā citus pavedienus, kamēr gaidīšana nekontrolē pavediena izpildi, lai citi pavedieni darbotos.