Spavaj i čekaj

Anonim

Spavaj i čekaj

Strojevi poput računala koriste umjetni jezik za izradu programa, kontrolu i dopuštaju im da komuniciraju upute i izraze algoritme. Ovaj se jezik naziva programskim jezikom.

Prije dolaska računala, programski su jezici već bili korišteni u tkalačkim stanovima i klavirom. Kako je uporaba računala postala češća, sada se koristilo 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 CPU imaju svoj vlastiti računalni jezik, svaki sa svojim slabostima i snagama, a svaki virtualni stroj pokreće niti kada se pokrene. Ova nit provodi programski kod u programu. To može napraviti program trčanje brže 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 višestrukih navoja s višim prioritetnim temama izvršenim prvo preko nižih prioritetnih niti osiguravajući pravednu podjelu vremenske obrade.

Koristi metode upravljanja nitima koji mogu stvarati, kontrolirati i prekinuti protok kontrolnih niti niti u zajedničkom prostoru. Dvije od tih metoda upravljanja nitom su čekanje i metode spavanja.

Ove dvije metode su odvojene. Metoda mirovanja kontrolira izvođenje niti i odgađa sljedeću radnju, dok metoda čekanja ne kontrolira izvođenje niti da bi se pokrenule druge niti.

Metoda čekanja definirana je u klasi Object i šalje trenutnu nit u stanje koje nije moguće upravljati. Upotrebljava se zajedno s obavijestima i obavještavati sve metode kako bi se izvršni kôd objekta privremeno zaustavio i nastavio kasnije.

Djeluje pozivanjem na objekt za zaključavanje i omogućavanjem sinkronizacije trenutne niti s njom. Pričekajte da će otpustiti bravu i staviti nit na popis čekanja i neka druge niti sinkronizirati s njim uzrokujući izvornu nit za probuditi. Programer određuje točno vrijeme kada se izvršenje ponovno pokreće.

Metoda spavanja, s druge strane, definirana je kao statička metoda. To odgađa izvršenje niti, a ne objekte, kao i obustavlja nit koja se izvršava. Određuje trenutne teme u neko vremensko razdoblje. To može utjecati na ponašanje aplikacija koje su višeslojne jer zadržava sinkronizacijske brave trenutne niti. Nakon što je nit u sinkroniziranom bloku, nitko drugi nit ne može ući u blok.

Sažetak:

1. "Spavanje" je metoda upravljanja nitima koja se definira kao statička metoda, dok je "čekanje" metoda upravljanja nitima definirana u klasi Object. 2.Sleep je metoda koja izvršava niti dok je čekanje metoda koja izvršava objekte. 3.Sleep drži sinkronizacijske brave trenutne niti i utječe na ponašanje aplikacija dok čekam ne. 4.Sleep kontrolira izvođenje niti i ne dopušta druge teme u sinkroniziranom bloku dok čekanje ne kontrolira izvođenje niti da pusti druge niti pokrenuti.