2016-11-02 29 views
3

好像我在这里有一些编码错误,也许有人可以帮助我。 例子:PHP pthreads:线程dosen't执行其他对象的方法async

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(); 

通常因为这是螺纹,我所期望的,该作业异步完成,但事实并非如此。它等到连接得到回应,我做错了什么?

谢谢。

+0

为什么不直接做1秒的连接超时卷曲GET请求? – num8er

回答

0

你有没有尝试把它放在同一个类中,所以把fsockopen放到类“Main”的构造函数中?

+0

这不能解决问题。即使我将这个函数移到Main中,我仍然有这个问题。 Dev告诉我,它是我的Code的一个问题。 – Ne00n

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(); 

现在,这将每次运行parrallel

相关问题