线程PHP中的Sleep()

线程PHP中的Sleep(),php,multithreading,pthreads,php-pthread,Php,Multithreading,Pthreads,Php Pthread,我有一个PHP脚本,其中我使用pthread库创建了几个线程。在这些线程中,我使用sleep()函数。问题是sleep()暂停我的主线程。所以我失去了制作线程的所有优势 有没有人能在不暂停主线程的情况下暂停我的线程 这个线程化类调用另一个php脚本,其中包含睡眠 class CallAgent extends Thread { private $id_com; private $agt_id; private $pat_id; /** * CallAgent constructor. */

我有一个PHP脚本,其中我使用pthread库创建了几个线程。在这些线程中,我使用sleep()函数。问题是sleep()暂停我的主线程。所以我失去了制作线程的所有优势

有没有人能在不暂停主线程的情况下暂停我的线程

这个线程化类调用另一个php脚本,其中包含睡眠

class CallAgent extends Thread
{

private $id_com;
private $agt_id;
private $pat_id;
/**
 * CallAgent constructor.
 */
public function __construct($id_com, $agt_id, $pat_id)
{
    $this->id_com = $id_com;
    $this->agt_id = $agt_id;
    $this->pat_id = $pat_id;
}

public function run()
{
    echo shell_exec("C:\\xampp\php\php.exe -f C:\\xampp\htdocs\call_script.php -- " .$this->id_com. " " .$this->agt_id. " " .$this->pat_id);
}
}
这是线程调用的脚本

function run($id_com, $agt_id, $pat_id)
{
$bdd = new bdd();
$bdd->connect();
$decision = rand(0, 100);
if ($decision >= 2) {
    echo "L'agent à décrocher et rentre en com avec un patient\n";
    $bdd->update_etat_com($id_com, "decrocher");
    $bdd->update_agt_etat($agt_id, "com");
    $bdd->update_pat_etat($pat_id, "OUT");
    sleep(8);
    echo "Call finished.\n";
    $bdd->update_agt_etat($agt_id, "repos");
}
else {
    $bdd->update_dispo_agt($agt_id, "indisponible");
    echo "Timeout Agent.\n";
}
}

提前感谢。

此链接是针对已弃用版本的pthred…您能分享代码吗?