PHP поток безопасности использования статических членов класса в качестве супер глобальной переменной

Я хочу, чтобы мои суперглобальные переменные были доступны из всех моих сценариев, и я использую статические члены класса, чтобы добиться этого, но я обеспокоен тем, что, поскольку сервер php создает отдельный поток для каждого файла сценария и в некоторых из моих сценариев Я читаю или изменяю эти переменные, должны ли критические разделы моего кода быть защищены мьютекс-блокировками?

пример использования

SuperGlobals.php

class MySuperGlobals {
public static $Variables=array("visited"=>array());

}

index.php

<?php

include "SuperGlobals.php";
array_push(MySuperGlobals::$Variables["visited"] ,"index");
echo MySuperGlobals::$Variables["visited"][count(MySuperGlobals::$Variables["visited"])-1];//last element

?>

page1.php

<?php
include "SuperGlobals.php";
array_push(MySuperGlobals::$Variables["visited"] ,"page1");
echo MySuperGlobals::$Variables["visited"][count(MySuperGlobals::$Variables["visited"])-1];//last element
?>

в приведенном выше примере является ли array_push потокобезопасным для статического члена (игнорируя эхо) и как насчет всего push и echo, если мы хотим защитить его, что должно быть сделано? я должен создать статический объект взаимного исключения в классе и заблокировать и разблокировать эти строки?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]