Lõim (informaatika): erinevus redaktsioonide vahel

Eemaldatud sisu Lisatud sisu
Suwa (arutelu | kaastöö)
P {{kas|jaotuda}}{{lisa viide}} -- ega see sunnik ise ikka ei jagune, jaotatakse käsu peale ...
PResümee puudub
2. rida:
 
[[Pilt:Multithreaded process.svg|thumb|Näide protsessist kahe lõimega läbi aja]]
'''Lõimed''' (inglise ''threads'') on [[informaatika]]s [[operatsioonisüsteem]]i või [[programmarvutiprogramm]]i omadus {{kas|jaotuda}}{{lisa 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);
 
Mitmelõimelisuse puhul luuakse üldjuhul ajapõhise-jagamise jaotur'iga ("ajakvantimisega"), mis töötab väga sama moodi, 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. Mitme protsessorilistes või mitme tuumalistes 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.
19. rida:
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 [[Semafor (programmeerimine)|semafori]].
 
Objektorienteeritud keeltes nagu Java on primaarobjekti (mis on Javas: "Object") tihti lisatud lukkude lisamise ja eemaldamise meetodid (neid meetodeid tuntakse ka "Monitor"'i all).
 
== Välislingid ==