本文阐述了多
线程运行PHP使用pthread。
分享给您
参考,如下:
< PHP
类投票
扩展线程{
公共$ =;
公共$ =数组();
公共名称$ =;
公共$ = false;
公共$ LC = false;
公共
功能__construct($name){
这就是不,第一次运行;
美元->
参数= 0;
美元-> lurl = 0;
这个
名字;
这是真的;
$;
}
公共
函数运行(){
当($)- {
如果(美元->参数!= 0){
台币=兰特(1, 10);
回声线程{ {姓名} }美元->接收任务参数::{美元->参数},{ }秒NT需要美元来
处理数据。;
此$ = =兰德(100, 999);
睡眠(台币);
这lurl =美元->美元->参数;
美元->参数=;
{人}
等待任务的线程{$。;
}
睡眠(1);
}
}
}
在这里
创建一个线程池。
{ } =美元池新投票(A);
{ } =美元池新投票(B);
{ } =美元池新投票(C);
启动所有线程,使其处于
工作状态
foreach(合池达W){
开始();
}
将任务分配给线程
($ i = 1;$ i < 10;$ + +){
worker_content =兰特(10, 99美元);
当(真){
foreach(合池达工人){
参数为空/线程是空闲的。
如果(合工->参数= =){
为工人->参数= $ worker_content;
回声{ {姓名} } $工人->线程空闲,把参数{ $ worker_content },最后一个参数{ { $工人-> lurl } } { { $结果工人-> RES } },;
突破2;
}
}
睡眠(1);
}
}
所有线程都已发出,等待
执行完成。;
等待运行/结束的所有线程
当(计数($池)){
线程组运行
检查的结束
foreach(美元美元美元关键线程池=){
如果(合工->参数= =){
回声{ {姓名} } $线程->线程空闲,最后一个参数{ { $线程-> lurl } } { { $结果线程-> RES } },;
线程完成,
退出。;
设置结束标记
线程;
撤消(合池{ $关键});
}
}
等待…;
睡眠(1);
}
所有线程执行。;
希望本文能对PHP
程序设计有所帮助。