为了在给定的时间范围内执行某些工作,我需要使用多线程方法。
我在执行neo4j查询时遇到问题,对neo4j-php-client->run
的任何调用都会产生段错误。
这是我的主题类:
class ABthread extends Thread {
private $thread_id;
private $addr_array;
private $neo_ip;
private $neo_timeout;
public function run() {
$id = $this->thread_id;
$addr_array = $this->addr_array;
$neo_ip = $this->neo_ip;
$neo_timeout = $this->neo_timeout;
$neo4j = ClientBuilder::create()
-> addConnection('default', $neo_ip)
-> setDefaultTimeout($neo_timeout)
-> build();
$query = "MATCH a....";
try{
$result = $neo4j->run ($query);
}
catch (Exception $e) {
}
}
public function __construct($id, $array, $neo_ip, $neo_timeout)
// constructor
{
$this->thread_id = $id;
$this->addr_array = $array;
$this->neo_ip = $neo_ip;
$this->neo_timeout = $neo_timeout;
}
}
我在这里得到一个段错误:$result = $neo4j->run ($query);
任何指针都会受到赞赏。
(我知道PHP不是理想的多线程语言,但我目前仅限于那种语言)