Objektorienteeritud JAVA 2.kontrolltöö konspekt
ümberkorraldamisega
Atomaarsus
Kui kaks lõime kasutavad sama muutujat, siis atomaarne operatsioon tähendab, et kõik ühe
lõime poolt selle operatsiooni käigus tehtavad asjad tehakse järjest
Nt counteri realiseerimisel pole vaja atomaarset muutujat sünkroniseerida
Operatsioonid long ja double tüüpidega ei ole atomaarsed (isegi mitte read ja write) Vajalik
sünkroniseerimine!
java.util.concurrent.atomic Objektid, mis toetavad atomaarseid operatsioone ilma
sünkroniseerimiseta
InterruptedException
Lõime tööd saab katkestada ja lõim saab sellega tegeleda püüdes kinni InterruptedExceptioni
Deemonid
Lõim, mille töö lõppeb, kui pealõime töö lõppeb
wait():
Kui lõime töö jaoks vajalik eeltingimus ei ole täidetud, võib ta synchronized bloki sees oodata kuni
tingimus saab täidetud
notify():
Lõim, mis seda eeltingimust täidab, saab ootavale lõimele märku anda, et ta üles ärkaks ja uuesti
prooviks