PHP pthreads:线程不会执行其他对象异步的方法

时间:2016-11-02 11:12:46

标签: php multithreading pthreads

好像我在这里有一些编码错误,也许有人可以帮助我。 例如:

    class test {

      public function check() {
        $fp = fsockopen('10.10.5.55','80', $errno, $errstr, 1.5);
      }

    }

    class Main extends Thread {

      public function run() {
        $N = new test();
        $N->check();
      }

    }

    $N = new Main();
    $N->start();

通常,因为这是Threaded,我希望,这项工作是异步的,但事实并非如此。它一直等到连接得到响应,我做错了什么?

感谢。

2 个答案:

答案 0 :(得分:0)

您是否尝试将其放在同一个类中,因此将fsockopen放在“Main”类的构造函数中?

答案 1 :(得分:0)

班级考试{

  public function check() {
    $fp = fsockopen('10.10.5.55','80', $errno, $errstr, 1.5);
  }

}

class Main extends Thread {

  public function run() {
    $N = new test();
   while(true){
     $N->check();
  }

  }

}

$N = new Main();
$N->start();

现在每次都会运行