Եթե ձեր կոդը գործարկվում է բազմաշերտ միջավայրում, ապա ձեզ անհրաժեշտ է համաժամեցում օբյեկտների համար, որոնք համօգտագործվում են մի քանի շղթաների միջև՝ իրավիճակի ցանկացած կոռուպցիայի կամ որևէ տեսակի կոռուպցիայից խուսափելու համար: անսպասելի վարքագիծ. Java-ում համաժամացումը անհրաժեշտ կլինի միայն այն դեպքում, եթե ընդհանուր օբյեկտը փոփոխական է:
Ինչու՞ է մեզ անհրաժեշտ համաժամացումը բազմաթելերում:
Համաժամացման հիմնական նպատակը թելերի միջամտությունից խուսափելն է: Այն ժամանակ, երբ մեկից ավելի շղթաներ փորձում են մուտք գործել ընդհանուր ռեսուրս, մենք պետք է ապահովենք, որ ռեսուրսը կօգտագործվի միայն մեկ շղթայի կողմից միաժամանակ: Գործընթացը, որով դա ձեռք է բերվում, կոչվում է համաժամացում:
Ինչու է անհրաժեշտ համաժամացումը:
Համաժամացումը կարևոր է, քանի որ այն ստուգում է տվյալների երկու բեռնարկղերի միջև եղած տարբերությունները, որպեսզի խուսափի տվյալների անհարկի փոխանցումից, որոնք արդեն գտնվում են տվյալների երկու աղբյուրներում: Հետևաբար, համաժամացման սխեմաները սովորաբար թարմացնում են տվյալների երկու աղբյուրները՝ փոխանցելով միայն լրացումներ, փոփոխություններ և ջնջումներ:
Ինչու՞ մեզ պետք է համաժամացում Java-ում:
Համաժամացումը java-ում մի քանի թելերի մուտքը ցանկացած ընդհանուր ռեսուրս վերահսկելու հնարավորություն է: Multithreading հայեցակարգում մի քանի թելեր փորձում են միաժամանակ մուտք գործել ընդհանուր ռեսուրսներ՝ անհամապատասխան արդյունքներ արտադրելու համար: Համաժամացումը անհրաժեշտ է միջև հուսալի հաղորդակցության համարթելեր.
Ի՞նչ է նշանակում համաժամացումը բազմաթելերում:
համաժամեցված նշանակում է, որ բազմաթելային միջավայրում համաժամեցված մեթոդ(ներ)/բլոկ(ներ) ունեցող օբյեկտը թույլ չի տալիս երկու շղթա մուտք գործել կոդի համաժամացված մեթոդ(եր)/բլոկ(ներ) միաժամանակ: ժամանակ. Սա նշանակում է, որ մեկ շարանը չի կարող կարդալ, մինչդեռ մեկ այլ շարանը թարմացնում է այն: