Objektorienteeritud JAVA 2.kontrolltöö konspekt
19. Mis vahe on sisemisel ja välimisel sünkroniseerimisel? Leidke mõlema näide viimasest
praktikumitööst, et veenduda oma arusaamises (näidislahendus Moodles).
Sisemine sünkroniseerimine – objekt hoolitseb ise, et teda oleks turvaline lõimedes kasutada
while(true)
Väline sünkroniseerimine – kasutaja peab sünkroniseerima objekti kasutust synchronize()
20. Kirjeldage lõimeturvalisuse viit taset Blochi järgi.
Lõimeturvalisuse tasemed (Bloch)
Muudetamatud tüübid (immutable) – sünkroniseerimist ei ole tarvis, jagage julgelt lõimede
vahel
Tingimusteta turvalised (thread-safe) – muudetavad, kuid sisemiselt sünkroniseeritud – võite
julgelt kasutada
Teatud tingimustel turvalised – nt mõni meetod ei ole lõimedega kasutamiseks turvaline ja selle
kasutamisel vajab objekt eraldi sünkroniseerimist