Razlika između spavanja i čekanja

Spavaj vs čekaj

Strojevi poput računala koriste umjetni jezik za izradu programa, kontrolu nad njima i omogućuju im da komuniciraju upute i izražavaju algoritme. Taj se jezik naziva programski jezik.

Prije pojave računala, programski jezici već su se koristili u tkalačkim strojevima i klavirima. Kako je upotreba računala postala sve češća, sada se koristi nekoliko programskih jezika.

Postoji nekoliko računalnih jezika, uključujući jezike visoke razine kao što su: BASIC, C, C ++, Fortran, Pascal i Java. Svaki virtualni stroj i procesor imaju svoj računalni jezik, svaki sa svojim slabostima i jakim snagama, a svaki virtualni stroj pokreće nit nakon pokretanja. Ova nit izvršava aplikacijski kod u programu. Program može učiniti brže pokretanje programa i pomoći u njihovoj izvedbi i korisnosti, pogotovo kada se koristi više niti.

Virtualni strojevi, kao što je Java virtualni stroj, podržavaju koncept s više navoja s nitima višeg prioriteta koji se prvo izvršavaju nad nitima nižeg prioriteta osiguravajući pravednu podjelu obrade vremena.

Koristi metode upravljanja nitima koje mogu stvoriti, kontrolirati i zaustaviti tok kontrola ili niti u zajedničkom prostoru. Dvije ove metode upravljanja nitima su metode čekanja i spavanja.

Ove dvije metode su odvojene. Metoda mirovanja kontrolira izvršenje niti i odgađa sljedeću radnju dok metoda čekanja ne kontrolira izvršenje niti kako bi se ostale niti pokrenule.

Metoda čekanja definirana je u klasi Object i šalje trenutnu nit u stanje koje se ne može pokrenuti. Koristi se zajedno s metodama notify and notifyAll da bi se izvršni kôd objekta privremeno zaustavio i kasnije nastavio.

Djeluje pozivom na zaključani objekt i puštanjem trenutne niti da se sinkronizira s njim. Pričekajte da otpusti bravu i stavi će nit na listu čekanja i pustiti da se ostali niti sinkroniziraju s njom, uzrokujući da se izvorna nit probudi. Programer određuje određeno vrijeme kada se izvršavanje pokreće ponovo.

Metoda spavanja, s druge strane, definirana je kao statička metoda. Odgađa izvršenje niti, a ne predmeta, i zaustavlja nit koja se izvodi. Šalje trenutne niti u stanje koje nije moguće pokrenuti na neko vrijeme. Može utjecati na ponašanje aplikacija s više navoja jer čuva sinkronizacijske brave trenutne niti. Jednom kada se nit nalazi u sinkroniziranom bloku, nijedan drugi nit ne može ući u blok.

Sažetak:

1. "Sleep" (Metoda mirovanja) je metoda upravljanja nitima koja je definirana kao statička metoda, dok je "čekanje" metoda upravljanja nitima koja je definirana u klasi Objekta.
2.Sleep je metoda koja izvršava teme, dok čeka je metoda koja izvršava objekte.
3. Sleep čuva sinkronizacijske brave trenutne niti i utječe na ponašanje aplikacija dok čekanje ne.
4.Sleep kontrolira izvršenje niti i ne dopušta drugim nitima u sinkroniziranom bloku dok čekanje ne kontrolira izvršenje niti kako bi se ostale niti pokrenule.