https://github.com/krakjoe/pthreads
<?php
class Possibilities extends Thread {
public function __construct($url){
$this->url = $url;
}
public function run(){
/*
* Or use curl, this is quicker to make an example ...
*/
return file_get_contents($this->url);
}
}
$threads = array();
$urls = get_my_urls_from_somewhere();
foreach($urls as $index => $url){
$threads[$index]=new Possibilities($url);
$threads[$index]->start();
}
foreach($threads as $index => $thread ){
if( ( $response = $threads[$index]->join() ) ){
/** good, got a response */
} else { /** we do not care **/ }
}
?>
我的猜测是,您使用 curl multi 因为它是并发执行发送电子邮件的代码的唯一选择......如果是这种情况,我不建议您使用类似上面代码的任何东西,我建议您线程直接调用 mail() ,因为到目前为止这将更快、更有效。
但是现在您知道了,您可以在 PHP 中使用线程 .. 享受 :)