Satura rādītājs:
Definīcija - ko nozīmē pavedienu sinhronizācija?
Vītņu sinhronizācija ir divu vai vairāku pavedienu vienlaicīga izpilde, kuriem ir kopīgi kritiskie resursi. Pavedieni jāsinhronizē, lai izvairītos no kritiskiem resursu izmantošanas konfliktiem. Pretējā gadījumā var rasties konflikti, kad paralēli darbinātie pavedieni vienlaikus mēģina modificēt kopēju mainīgo.
Techopedia izskaidro pavedienu sinhronizāciju
Lai precizētu pavedienu sinhronizāciju, ņemiet vērā šādu piemēru: trīs pavedieni - A, B un C - tiek izpildīti vienlaicīgi un tiem ir jāpiekļūst kritiskam resursam Z. Lai izvairītos no konfliktiem, piekļūstot Z, pavedieni A, B un C ir jāsinhronizē. . Tādējādi, kad A piekļūst Z, bet arī B mēģina piekļūt Z, B ir jāizvairās no B piekļuves Z, izmantojot drošības pasākumus, līdz A pabeidz savu darbību un iznāk no Z.
Java, lai novērstu pavedienu traucējumus un atmiņas konsekvences kļūdas, tiek izmantotas divas sinhronizācijas stratēģijas:
- Sinhronizētā metode: deklarācijā iekļauj sinhronizēto atslēgvārdu. Kad pavediens atsaucas uz sinhronizētu metodi, sinhronizētā metode automātiski iegūst šīs metodes objekta iekšējo bloķēšanu un atbrīvo to, kad metode atgriežas, pat ja šo atgriešanos izraisīja nepieņemts izņēmums.
- Sinhronizēts paziņojums: paziņo par sinhronizējamā koda bloku. Atšķirībā no sinhronizētajām metodēm, sinhronizētajiem paziņojumiem būtu jāprecizē objekti, kas nodrošina iekšējo bloķēšanu. Šie paziņojumi ir noderīgi, lai uzlabotu vienlaicīgumu ar smalkgraudainu sinhronizāciju, jo tie ļauj izvairīties no nevajadzīgas bloķēšanas.
