Remove ads
From Wikipedia, the free encyclopedia
Lõimed (inglise thread) on informaatikas operatsioonisüsteemi või arvutiprogrammi omadus jaotuda[küsitav][viide?] mitmeks protsessiks, mis eeldab, et protsess operatsioonisüsteemis võib koosneda mitmest voost, mis täidetakse paralleelselt (sealhulgas täpsustamata on, mis järjekorras protsesse täidetakse).
See artikkel vajab toimetamist. (Veebruar 2010) |
See artikkel ootab keeletoimetamist. |
Mitmelõimelisuse puhul luuakse üldjuhul ajapõhise-jagamise jaoturiga ("ajakvantimisega"), mis töötab samamoodi kui paralleelne mitmete käskude täitmine arvuti programmide puhul: protsessor lülitub erinevate lõimede protsesside teostamise vahel. Siiski, kuna ajakvant on pisike ja võib inimtaju poolt saada tekitatud illusioon samaaegsusest lõppkasutajale. Mitmeprotsessorilistes või mitmetuumalistes süsteemidas võib saavutada lõimelisuse multitöötluse abil, kus erinevad lõimed ja protsessid võivad põhimõtteliselt samaaegsusest saada täidetud teistes protsessorites või tuumades.
Lisaks, programmid võivad implementeerida lõimelisuse kaudselt läbi operatsioonisüsteemi, kasutades taimereid, signaale ja teisi meetodeid täiendamaks oma programmi üldist programmivoo täitmise kulgu saavutades nõnda ad hoc ajakvantimise. Vahel kutsutakse seda kasutajaruumi lõimedeks.
Lõimel on omadus prioriteet, mis määrab selle element-protsessi käivitamise eelistuse teiste lõimede suhtes. Prioriteet on määratud täisarvuga. Olenevalt arhitektuurist ja operatsioonisüsteemist on rakendatud protsessori haldussüsteem ning vastavalt nendele reeglitele täidetakse programme. Näiteks lihtne (protsessori haldussüsteemist): väikese prioriteediga lõimesid peavad protsessori ootuse järjekorras olema seni, kuni leidub neist kõrgema prioriteediga lõimesid. Reaalselt on protsessori haldussüsteeme palju, nad töötavad erinevalt ja neil kõigil on omad eelised, hea tava kohaselt on programmeerijale jäetud võimalus eelistada üht lõime teisele. Ühesuguse prioriteediga lõimed jagavad neile antud ajakvanti või on nende tegevus sünkroonitud.
Lihtne (protsessori haldussüsteemis) toimub ajakvandiga, mis on tavaliselt (15–18 ms), järgmiste reeglite kohaselt ümberlülitused:
Lõimed üldjuhul jagavad ressursse, et välistada samaaegselt välja jagatud ressursi probleeme, tuleb lõimedele seada piirangud. Selleks luuakse nn kriitiline koodiosa, kus ei võimaldata teistel protsessidel samade objektidega tööd teostada. Kriitiline koodiosa lukustatakse ja teised lõimed saavad seda alles siis kasutada, kui sisenenud lõim on kriitilisest koodiosast väljas. Lõimede, mis üldse saavad protsesse teostada, arvu piiramiseks saab kasutada semafori.
Objektorienteeritud keeltes nagu Java on primaarobjekti (mis on Javas "object") tihti lisatud lukkude lisamise ja eemaldamise meetodid (neid meetodeid tuntakse ka "monitorina").
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.