我有一个名为域的表。它有2亿行。我想验证那些域名。以下是我的代码。但是我想运行1000个线程,这样我就可以在一个线程中验证1000个域,因为我的表中有2亿行。
for ($i=0; $i<=1000; $i++){
check_domains();
}
function check_domains(){
$sql = "SELECT * FROM urls where status=0 limit 1";
$result = mysql_query ($sql);
$row = mysql_fetch_array ($result);
//some validation and pinging the domain.
if ($validated){
$sql = "update urls set status=1 where id=".$row['id'];
$result = mysql_query ($sql);
}
}
有人能提出一些解决方案,让它在php中多线程化吗。
您可以在脚本中使用pcntl_fork
来复制线程,并为每个子线程处理1000个条目。
http://php.net/manual/en/function.pcntl-fork.php