Bezpečnost nití

Bezpečnost závitů je programovací  koncept použitelný pro vícevláknové programy . Kód je bezpečný pro vlákna, pokud funguje správně při použití z více vláken současně. Zejména musí zajistit, aby ke sdíleným datům správně přistupovalo více vláken.

Obecně je obtížné dosáhnout bezpečnosti závitu. Existuje však několik zdrojů pro detekci porušení bezpečnosti vláken:

Existuje několik způsobů, jak dosáhnout bezpečnosti závitu:

Reentrancy Psaní kódu takovým způsobem, že jej může částečně spustit jedno vlákno, pak další a pokračovat v tom prvním. To vyžaduje uložení stavu do lokálních proměnných, obvykle na zásobníku, namísto globálních nebo statických proměnných . Linearizovatelnost Psaní kódu procedur (operací) takovým způsobem, že výsledek libovolného jejich paralelního provádění je ekvivalentní nějakému sekvenčnímu provádění.

Odkazy