Thread-safety

Потоковая безопасность (англ. thread-safety) — это концепция программирования, применимая к многопоточным программам. Код потокобезопасен, если он функционирует исправно при использовании его из нескольких потоков одновременно. В частности, он должен обеспечивать правильный доступ нескольких потоков к разделяемым данным.

В общем случае потоковая безопасность достигается сложно. Но существует несколько источников выявления нарушений потоковой безопасности:

Есть несколько способов достигнуть потоковой безопасности:

Реентерабельность
Написание кода в таком стиле, что он может быть частично выполнен одним потоком, затем другим, и продолжен первым. Это требует сохранения состояния в локальных переменных, обычно в стеке, вместо глобальных или статических переменных.
Линеаризуемость
Написание кода процедур (операций) таким образом, что результат любого их параллельного выполнения эквивалентен некоторому последовательному выполнению.

Ссылки

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.