Kazalo:
Opredelitev - Kaj pomeni sinhronizacija niti?
Sinhronizacija niti je hkratna izvedba dveh ali več niti, ki si delijo kritične vire. Navoje je treba sinhronizirati, da se prepreči kritični spori glede uporabe virov. V nasprotnem primeru lahko pride do konfliktov, ko vzporedno vodene niti poskušajo hkrati spremeniti skupno spremenljivko.
Techopedia razlaga sinhronizacijo niti
Če želite razjasniti sinhronizacijo niti, upoštevajte naslednji primer: tri niti - A, B in C - se izvajajo sočasno in potrebujejo dostop do kritičnega vira, Z. Da se izognete konfliktom pri dostopu do Z, je treba sinhronizirati niti A, B in C. . Ko A torej dostopa do Z in B poskuša dostopati tudi do Z, se je treba z varnostnimi ukrepi izogibati B dostopa do Z, dokler A ne konča svojega delovanja in ne izide iz Z.
Na Javi se uporabljata dve strategiji sinhronizacije za preprečevanje motenj niti in napak v doslednosti pomnilnika:
- Sinhroniziran način: V izjavo vključi sinhronizirano ključno besedo. Ko nit prikliče sinhronizirano metodo, sinhronizirana metoda samodejno pridobi lastno ključavnico za predmet te metode in jo sprosti, ko se metoda vrne, tudi če je to vrnitev povzročila neuveljavljena izjema.
- Sinhronizirana izjava: razglasi blok kode za sinhronizacijo. Za razliko od sinhroniziranih metod morajo sinhronizirani stavki določiti predmete, ki zagotavljajo intrinzično zaklepanje. Te izjave so koristne za izboljšanje sočasnosti z natančno sinhronizacijo, saj omogočajo preprečevanje nepotrebnega blokiranja.