gpt4 book ai didi

php - pthreads等待线程功能在继续之前完成

转载 作者:行者123 更新时间:2023-12-03 12:59:45 25 4
gpt4 key购买 nike

第一次使用pthreads。我创建了一个扩展线程的类,并像往常一样从另一个类调用它。

这是我的代码:

<?php
class TestThread extends Thread
{
//
function __construct($parameters) {
$this->reverse = $parameters;
}

public function run() {
try {
sleep(20);
// Connecting to mysql database
$cn = new mysqli(DB_HOST, DB_USERNAME, DB_PASSWORD, DB_NAME);
INSERT INTO DEVICE_SESSION_ADDRESS (X, Y, Z)
VALUES (1,2,3)
} catch (Exception $ex) {
//do stuffs
}
}
}
?>

我从Rest api方法调用此函数:
 function test ($response) {
require_once 'TestThread.php';
$rev = new TestThread($response);
$rev->start();
}

使用Postman测试其余的api,它需要等待20秒钟才能释放调用。
该功能有效,它插入数据库中。

我该怎么做才能解决它并异步调用我的类TestThread?

最佳答案

由于pthreads可以很好地工作,因此我确信该问题具有以下原因之一:

未安装

  • pthreads。检查phpinfo()中的pthreads部分。
  • 您可以在Apache请求中调用pthreads。在这种情况下,pthreads无法正常工作。请参阅此注释: SAPI支持下的https://github.com/krakjoe/pthreads。您只能将pthreads用作CLI。

  • 确保两点都解决了,然后就可以了!

    关于php - pthreads等待线程功能在继续之前完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38884415/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com