Я родом из мира C++.Thrift PHP singleton без замков?
И недавно я начал использовать Apache Thrift, инфраструктуру RPC. Я пишу PHP-код клиента и код сервера Python.
Когда я читаю реализацию PHP, я нахожу следующее:
class TStringFuncFactory {
private static $_instance;
/**
* Get the Singleton instance of TStringFunc implementation that is
* compatible with the current system's mbstring.func_overload settings.
*
* @return TStringFunc
*/
public static function create() {
if(!self::$_instance) {
self::_setInstance();
}
return self::$_instance;
}
....
}
Это одноплодное без блокировок.
Вопрос
Что такое шаблон обработки PHP? Гарантирует ли это, что этого не произойдет.
Возможно, метод '_setInstance' обрабатывает любые проблемы с блокировкой/доступом? –
@NikosM. Я не уверен, вот почему я спрашиваю здесь. Для обеспечения его правильности должен быть некоторый механизм блокировки. Поскольку я совершенно новичок в php, поэтому я хочу узнать его подробности. – Alex
Я не использую пристрастие к Apache, но не могу заглянуть в исходный код для этого и увидеть свое «я» или опубликовать его здесь? –