Intereting Posts
PHP-перенаправление с переменными строки запроса HTTP Как я могу установить один Laravel PHP с несколькими проектами? Простая математическая программа по математике Имеет ли смысл использовать помощник формы Codeigniter? PHP подделал множественное наследование – наличие атрибутов объекта, установленных в поддельном родительском классе, доступном в расширенном классе PHP – добавление ссылки на URL-адрес в строке Плагин ajaxForm, представляющий форму обычно без ajax Установить налог на продукт в наблюдателе Magento Аутентификация пула пользователей FOS Проверьте, существует ли файл на удаленной машине Удалить элемент из массива, если значение элемента содержит искомый символ строки Отображение содержимого страницы с использованием нескольких шаблонов – WordPress PHP Curl на 81 порт Удаление всего, кроме буквенно-цифровых символов из строки в PHP Как я могу игнорировать заголовки «XXX» в сценарии синтаксического анализа данных?

PHP-темы и синхронизация

Я новичок в PHP, поэтому для начала я решил реализовать синглтон.

Хотя я могу воссоздать шаблон singleton в php, но я не уверен, как реализовать блокировку с двойной проверкой.

Это возможно даже в PHP. Я где-то читал, что PHP не многопоточен? Может ли кто-нибудь подтвердить это?

Если он многопоточен, может кто-нибудь объяснить мне, как lock () или synchronize () работают в PHP?

Спасибо, Генри

Related of "PHP-темы и синхронизация"

Архитектура без общего доступа

PHP имеет архитектуру без общего доступа :

  • Как и HTTP, каждый запрос отличается
  • Общие данные переносятся на уровень хранилища данных
  • Избегайте передних контроллеров

Это дает нам:

  • Возможность балансировки нагрузки
  • Невидимый переход из одного центра обработки данных в другой
  • Лучшая модуляция приложений
  • Легче разрабатывать и отлаживать

двойная проверка

но я не уверен, как реализовать блокировку с двойной проверкой.

В целом за это отвечает уровень базы данных. Стандарт MySQL (innodb) имеет, например, блокировку уровня строки (этого должно быть достаточно для этого).

InnoDB делает блокировку на уровне строк и запускает запросы как незаблокированные последовательные чтения по умолчанию, в стиле Oracle.

Если этого недостаточно, SQL также имеет, например, транзакции, чтобы это произошло.

Books Online определяет транзакцию как «последовательность операций, выполняемых как единая логическая единица работы»

Вилочные процессы

Как и слайды, PHP имеет Share-nothing-Architecture (традиционный), который также подразумевает, что PHP не имеет нити (модели) . Хотя вы можете скомпилировать ( не включается по умолчанию ) PHP, чтобы иметь поддержку процессов fork, которые могут взаимодействовать друг с другом. Когда вы также скомпилируете функции Семафора, вы можете делать такие вещи, как sem_acquire и sem_release . Но в целом это не относится к PHP.