Я разрабатываю cli-поток с помощью pthread, но у меня есть проблема:
Мой код ниже:
class workerThread extends Thread {
private $time;
public function __construct($i) {
$this->i = $i;
$this->time = time();
}
public function run() {
echo "Begin running...\n";
while (true) {
echo "[{$this->getThreadId()} : {$this->i}] ";
if ($this->time + 10 < time()) {
break;
}
usleep(1000000);
}
}
}
class AppTest_Controller_Main extends Core_Controller {
public function thread3Action() {
error_reporting(E_ALL);
echo "Start\n";
$worker = new workerThread(1024);
$worker->start();
}
}
запустить команду cli на centos 6.5, php v5.5.33 zts с расширением ptheads
php cli.php -r «AppTest / Main / thread3»
результат
Ошибка сегментации
Но я запускаю тестовый поток для файла вне MVC, тогда он работает
И этот код работает в Windows.
Пожалуйста, помогите мне, спасибо всем!
Задача ещё не решена.
Других решений пока нет …