Что означает потокобезопасность в контексте PHP?

Возможный дубликат:
Что такое поточно-безопасный или небезопасный поток в PHP

Что это значит, когда что-то является или не является потокобезопасным?

Например, setlocale () в PHP не является потокобезопасным:

Информация о локали поддерживается для каждого процесса, а не для потока. Если вы используете PHP на API с многопоточным сервером, например IIS или Apache в Windows, вы можете столкнуться с внезапными изменениями в настройках языка во время работы скрипта, хотя сам сценарий никогда не назывался setlocale (). Это происходит из-за того, что другие скрипты работают в разных потоках одного и того же процесса в одно и то же время, изменяя язык всей системы с помощью setlocale ().

http://php.net/manual/en/function.setlocale.php

Что это значит? Хорошо, что что-то потокобезопасно или нет?

На каких условиях вам нужны поточно-безопасные или не потокобезопасные решения ваших проблем?

Thread safe – это хорошо, это означает, что в то время как может быть несколько параллельных потоков, они разговаривают друг с другом безопасным способом, который не будет иметь условия гонки, проблемы параллелизма и т. Д.

Безопасность потоков – это концепция компьютерного программирования, применимая в контексте многопоточных программ. Кусок кода является потокобезопасным, если он управляет только общими структурами данных поточно-безопасным способом, что обеспечивает безопасное выполнение несколькими потоками одновременно. Существуют различные стратегии создания потокобезопасных структур данных.

Источник .