Я нашел PECL pthread Thread не может использовать объект массива. Что я могу сделать, чтобы найти причину? Пример кода: class my extends Thread { public function __construct() { $this->arr = array(); $this->id = 0; } pulbic function run() { while (true) { $this->wait(); } } public function set() { $this->id = rand(0, 1000); $this->arr[] = […]
Недавно работая с расширением pthreads , я обнаружил аномалию. У меня простой объект с внутренним состоянием: class Sum { private $value = 0; public function add($inc) { $this->value += $inc; } public function getValue() { return $this->value; } } Теперь я создал класс Thread, который что-то делает с этим объектом: class MyThread extends Thread { […]
Я хотел бы установить расширение PHP pthreads на Ubuntu. Я использую Ubuntu 12.04.1 LTS. И я могу обновить, если потребуется. Я действительно не хочу ничего компилировать из источника. Например, перекомпиляция PHP из исходного кода звучит как ужасная идея для меня. На мой взгляд, лучшим вариантом является установка этого расширения с помощью команды aptitude . Например, […]
Я пробовал пример из этого ответа Джо https://stackoverflow.com/a/32187103/2229367, и он отлично работает, но когда я попытался немного изменить этот код: $pool = new Pool(4); while (@$i++<10) { $pool->submit(new class($i) extends Collectable { public function __construct($id) { $this->id = $id; } public function run() { printf( "Hello World from %d\n", $this->id); $this->html = file_get_contents('http://google.fr?q=' . $this->query); […]
Я мало знаю об использовании потоков, но я заглянул в pthreads для php, и это кажется очень интересным и легким, или проще, чем я думал … Я искал примеры и просматривал документацию, но я не мог найти реальных примеров того, когда на самом деле полезно использовать потоки, конечно же, это долгие задачи, которые не зависят […]
Я использую php5.5 на своем веб-сервере. Теперь я хочу использовать pthreads. Вот мой php config: http://dd19010.kasserver.com/infophp.php55 После реализации этого кода ….. <?php class AsyncOperation extends Thread { public function __construct($threadId) { $this->threadId = $threadId; } public function run() { printf("T %s: Sleeping 3sec\n", $this->threadId); sleep(3); printf("T %s: Hello World\n", $this->threadId); } } $start = microtime(true); […]