Решил вспомнить PHP и написать простую программу, но столкнулся с проблемой доступа к данным из другого потока, не понимаю что не так, вроде все правильно, но не работает корректно
<?php
class B extends Thread {
private $a;
public function __construct(A $a) {
$this->a = $a;
}
public function run() {
var_dump($this->a->method());
}
}
class A {
private $socket;
private $b;
public function __construct() {
$this->socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
if (!$this->socket) {
echo 'socket create error';
exit;
}
if (!socket_bind($this->socket, '0.0.0.0', 22222)) {
echo 'socket bind error';
exit;
}
$this->b = new B($this);
$this->b->start();
sleep(1);
}
public function method() {
return $this->socket;
}
}
$a = new A();
Выводит:
int(0)
хотя должно выводится что-то в этом роде:
resource(4) of type (Socket)
Как оказалось PHP модуль pthreads не поддерживает ресурсы, их нельзя использовать в разных потоках
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Вот есть такая ссылка в виде, но без парамразмера картинок
меня очень сильно интересует вопрос, как конвертировать steamID64 в SteamID3 Я понимаю, что у меня нету кода, могу предоставить только код на получение...
Есть ли какая-нибудь функция в php, позволяющая выбрать из одного массива элементы, ключи которых соответствуют элементам другого массива?...