Синхронизированный блок в php 7Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Синхронизированный блок в php 7

Сообщение Anonymous »

Я родом из Java, где были синхронизированные блоки:


Ключевые слова «Синхронизированные» предотвращают одновременный доступ к блоку код или объект в нескольких потоках.


пример кода в Java:

Код: Выделить всё

public void addName(String name) {
synchronized(this) {
lastName = name;
nameCount++;
}
nameList.add(name);
}
Теперь этот пример подчеркивает фундаментальную разницу в PHP и Java (поправьте меня, если я ошибаюсь). Но в php не существует одноэлементного или общего класса. Таким образом, данный пример Java-кода имеет большой смысл при использовании в качестве синглтона. Таким образом, между запросами имеется общий объект. К сожалению, для PHP этого не существует, что, очевидно, является серьезным недостатком. Но если сделать это с помощью PHP, это в конечном итоге приведет к записи количества имен в файл или базу данных, таким образом, таким образом, будут использоваться общие данные между запросами (очевидно, намного медленнее). Но проблема будет та же: если два запроса одновременно увеличат количество имен, это будет на одно слишком мало.

Теперь первый вопрос: что-то делает подобное существует для PHP 7? то есть синхронизированный блок

Теперь я не уверен, действительно ли в php 7 слово поток относится к тому, что меня беспокоит. Считается ли поток в php отдельным вызовом файла php, скажем, foo.php, то есть, если я дважды обращаюсь к foo.php одновременно, будет ли синхронизированный блок, если он существует, выполняется только один за другим, или мне нужно создать правильный поток php, расширив класс Thread, и только тогда он считается потоком?

Подробнее здесь: https://stackoverflow.com/questions/388 ... k-in-php-7
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»