Domov vývoj Čo je to synchronizácia vlákna? - definícia z technológie

Čo je to synchronizácia vlákna? - definícia z technológie

Obsah:

Anonim

Definícia - Čo znamená synchronizácia vlákien?

Synchronizácia vlákien je súbežné vykonanie dvoch alebo viacerých vlákien, ktoré zdieľajú kritické zdroje. Vlákna by sa mali synchronizovať, aby sa predišlo konfliktom pri kritickom používaní zdrojov. V opačnom prípade môžu nastať konflikty, keď sa paralelné vlákna budú snažiť modifikovať spoločnú premennú súčasne.

Techopedia vysvetľuje synchronizáciu vlákien

Aby sa objasnila synchronizácia vlákien, zvážte nasledujúci príklad: tri vlákna - A, B a C - sa vykonávajú súčasne a musia mať prístup k kritickému prostriedku, Z. Aby sa predišlo konfliktom pri prístupe k Z, vlákna A, B a C sa musia synchronizovať., Keď sa A snaží získať prístup k Z a B sa tiež pokúša o prístup k Z, je potrebné zabrániť bezpečnostným opatreniam prístup B k Z, až kým A nedokončí svoju činnosť a nevyjde z Z.


V Java sa používajú dve stratégie synchronizácie, aby sa zabránilo rušeniu vlákien a chybám konzistencie pamäte:

  • Synchronizovaná metóda: Zahrne do svojho vyhlásenia synchronizované kľúčové slovo. Keď vlákno vyvolá synchronizovanú metódu, synchronizovaná metóda automaticky získa vnútorný zámok pre objekt tejto metódy a uvoľní ju, keď sa metóda vráti, aj keď bol tento návrat spôsobený neočakávanou výnimkou.
  • Synchronizovaný príkaz: Vyhlási blok kódu, ktorý sa má synchronizovať. Na rozdiel od synchronizovaných metód by mali synchronizované príkazy špecifikovať objekty, ktoré poskytujú vlastný zámok. Tieto príkazy sú užitočné na zlepšenie súbežnosti s jemnozrnnou synchronizáciou, pretože umožňujú vyhnúť sa zbytočnému blokovaniu.

Čo je to synchronizácia vlákna? - definícia z technológie