CakePHP 3.0“找不到线程类”

I want to implement the threading concept in CakePHP 3.0 , But when I try to extend the thread class, it gives an error of "Thread class not found"

I have also implemented it in core php and its working as expected, But somehow its not working with cakephp.

Here is the corephp code

<?php

class AsyncOperation extends Thread {

    public function __construct($arg) {
        $this->arg = $arg;
    }

    public function run() {
        if ($this->arg) {
            $sleep =  rand(1,60);
            for ($i=0; $i < 100 ; $i++) { 
                sleep(1);
                echo $this->arg."----------->".$i."<br/>";    
            }
        }
    }
}

class CallingClass {
    public function runScript($var)
    {
        print_r("start run script");
        $th = new AsyncOperation($var);
        $th->start();
        print_r("continue running");

    }
}

$wow =  new AsyncOperation("First");
$wow->start();
$wow2 =  new AsyncOperation("Last");
$wow2->start();
?>   

And in CakePHP 3

class AsyncOperation extends Thread

Just add simple line

use Thread;

You want to learn about namespaces in php. Cake and almost every lib these days uses them. You need to use the use keyword and import the class from another namespace if it does not exist within the namespace your current class is in. Or, not really best practice, provide the absolute namespace.

Also I'm not sure what you try to do, but instead of threads I would recommend to take a look at work queues likes RabbitMQ or ZeroMQ.

Your php version doesn't have the thread class. By default, if you install it on LINUX, you won't have the thread class.

You need to download the php source code, enable the zts and then compile it.

This is how I did on linux:

Enable zts on redhat - pthreads on php