Indholdsfortegnelse:
Definition - Hvad betyder trådsynkronisering?
Trådsynkronisering er den samtidige udførelse af to eller flere tråde, der deler kritiske ressourcer. Trådene skal synkroniseres for at undgå kritiske konflikter med ressourcebrug. Ellers kan der opstå konflikter, når trådløse tråde parallelt kører forsøger at ændre en fælles variabel på samme tid.
Techopedia forklarer trådsynkronisering
For at afklare trådsynkronisering skal du overveje følgende eksempel: tre tråde - A, B og C - udføres samtidigt og skal have adgang til en kritisk ressource, Z. For at undgå konflikter, når adgang til Z, skal trådene A, B og C synkroniseres . Når A får adgang til Z, og B også forsøger at få adgang til Z, skal B's adgang til Z undgås med sikkerhedsforanstaltninger, indtil A afslutter sin operation og kommer ud af Z.
I Java bruges to synkroniseringsstrategier til at forhindre trådinterferens og hukommelseskonsistensfejl:
- Synkroniseret metode: Inkluderer det synkroniserede nøgleord i sin erklæring. Når en tråd påberåber en synkroniseret metode, erhverver den synkroniserede metode automatisk den iboende lås for den metodes objekt og frigiver den, når metoden vender tilbage, selvom denne tilbagevenden var forårsaget af en uslået undtagelse.
- Synkroniseret erklæring: Erklarer en blok af kode, der skal synkroniseres. I modsætning til synkroniserede metoder, skal synkroniserede udsagn specificere de objekter, der giver den iboende lås. Disse udsagn er nyttige til at forbedre samtidighed med finkornet synkronisering, da de muliggør undgåelse af unødvendig blokering.
