Huis Ontwikkeling Wat is thread-synchronisatie? - definitie van techopedia

Wat is thread-synchronisatie? - definitie van techopedia

Inhoudsopgave:

Anonim

Definitie - Wat betekent Thread Synchronization?

Threadsynchronisatie is de gelijktijdige uitvoering van twee of meer threads die kritieke bronnen delen. Threads moeten worden gesynchroniseerd om conflicten met kritieke bronnen te voorkomen. Anders kunnen er conflicten ontstaan ​​wanneer parallel lopende threads proberen een gemeenschappelijke variabele tegelijkertijd te wijzigen.

Techopedia verklaart Thread Synchronization

Overweeg het volgende voorbeeld om threadsynchronisatie te verduidelijken: drie threads - A, B en C - worden gelijktijdig uitgevoerd en moeten toegang hebben tot een kritieke bron, Z. Om conflicten bij toegang tot Z te voorkomen, moeten threads A, B en C worden gesynchroniseerd . Wanneer A dus toegang heeft tot Z en B ook toegang probeert te krijgen tot Z, moet B's toegang tot Z worden vermeden met beveiligingsmaatregelen totdat A klaar is met werken en uit Z komt.


In Java worden twee synchronisatiestrategieën gebruikt om thread-interferentie en geheugenconsistentie-fouten te voorkomen:

  • Gesynchroniseerde methode: neemt het gesynchroniseerde trefwoord op in de verklaring. Wanneer een thread een gesynchroniseerde methode oproept, verkrijgt de gesynchroniseerde methode automatisch de intrinsieke vergrendeling voor het object van die methode en geeft deze vrij wanneer de methode terugkeert, zelfs als die terugkeer werd veroorzaakt door een niet-opgevangen uitzondering.
  • Synchronized Statement: geeft aan dat een codeblok moet worden gesynchroniseerd. In tegenstelling tot gesynchroniseerde methoden, moeten gesynchroniseerde instructies de objecten specificeren die de intrinsieke vergrendeling bieden. Deze verklaringen zijn nuttig voor het verbeteren van gelijktijdigheid met fijnmazige synchronisatie, omdat ze onnodige blokkering voorkomen.

Wat is thread-synchronisatie? - definitie van techopedia