Uni ja oota
Masinad, näiteks arvutid, kasutavad kunstlikku keelt programmide loomiseks, nende juhtimiseks ja juhiste edastamiseks ning algoritmide väljendamiseks. Seda keelt nimetatakse programmeerimiskeeleks.
Enne arvutite tulekut olid programmeerimiskeeli kangastelgedel ja klaveritel juba kasutatud. Kuna arvutikasutus levis, kasutati nüüd mitmeid programmeerimiskeeli.
Seal on mitu arvutikeelt, sealhulgas kõrgetasemelised keeled, näiteks: BASIC, C, C ++, Fortran, Pascal ja Java. Igal virtuaalsel masinal ja CPU-l on oma arvutikeel, igal on oma nõrgad ja tugevad küljed ning igas virtuaalses masinas jookseb käivitamisel niit. See niit käivitab programmis rakenduskoodi. See võib programmi kiiremini käivitada ning aidata selle toimimisel ja kasulikkusel eriti juhul, kui kasutatakse mitut lõime.
Virtuaalsed masinad, näiteks Java virtuaalmasin, toetavad mitme lõimega kontseptsiooni, mille kõrgema prioriteediga niidid viiakse kõigepealt läbi madalama prioriteediga niitide suhtes, tagades aja töötlemise õiglase jaotuse.
See kasutab niidihaldusmeetodeid, mis võivad luua, juhtida ja lõpetada ühiskasutatavas ruumis juhtelementide või lõimede voo. Kaks neist niidihaldusmeetoditest on ootamise ja puhkeoleku meetodid.
Need kaks meetodit on eraldi. Unerežiim kontrollib lõime täitmist ja lükkab järgmise toimingu edasi, samal ajal kui ootamismeetod ei kontrolli lõime täitmist, et lasta teistel niitidel joosta.
Ootuse meetod on määratletud klassis Object ja see saadab praeguse lõime mitte käivitatavasse olekusse. Seda kasutatakse koos teavitada ja teavitada kõiki meetodeid, et lasta objekti täitekoodil ajutiselt paus teha ja seda hiljem jätkata.
See toimib, helistades lukuobjektile ja lastes aktiivsel niidil sellega sünkroonida. Wait vabastab luku ja paneb lõime ooteloendisse ning laseb teistel niitidel sellega sünkroonida, põhjustades algse niidi ärkamise. Programmeerija määrab konkreetse aja, millal käivitamine uuesti algab.
Unemeetod on seevastu määratletud kui staatiline meetod. See lükkab lõimede, mitte objektide täitmise, samuti peatab käivitatava lõime. See saadab praegused niidid mõnda aega mitte käivitatavasse olekusse. See võib mõjutada mitme keermega rakenduste käitumist, kuna see hoiab praeguse lõime sünkroonimislukud kinni. Kui niit on sünkroniseeritud plokis, ei saa ükski teine niit sellesse blokki siseneda.
Kokkuvõte:
1. „Unerežiim” on niidihaldusmeetod, mida määratletakse kui staatilist meetodit, „ooterežiim” on niidihaldusmeetod, mis on määratletud objektiklassis.
2.Une on meetod, mis käivitab lõime, samal ajal kui ootamine on meetod, mis käivitab objekte.
3.Sleep hoiab praeguse lõime sünkroonimislukud ja mõjutab rakenduste käitumist, samal ajal kui ootamine seda ei tee.
4.Sleep juhib lõime täitmist ega luba sünkroonitud plokis muid lõime, samal ajal kui ootamine ei kontrolli lõime käivitamist, et lasta teistel lõimedel joosta.