实用的PHP多线程处理
2005-12-12 17:00
302 查看
因为项目的原因需要对已有的PHP工程进行改造,大家都知道PHP本身是不支持多线程的,但是基于Apache服务器的原因可以实现类似多线程的方法机制,具体的实现代码如下: <?php
function runThread()
{
$fp = fsockopen('localhost', 8090, $errno, $errmsg);
fputs($fp, "GET /phpth.php?act=brnrn"); //这里的第二个参数是HTTP协议中规定的请求头
//不明白的请看RFC中的定义
fclose($fp);
}
function a()
{
$fp = fopen('result_a.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "rn");
fclose($fp);
}
function b()
{
$fp = fopen('result_b.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "rn");
fclose($fp);
}
if(!isset($_GET['act'])) $_GET['act'] = 'a';
if($_GET['act'] == 'a')
{
runThread();
a();
echo "sssssss";
}
else if($_GET['act'] == 'b') b();
?>
以上代码从别的地方获得,供大家参考。
function runThread()
{
$fp = fsockopen('localhost', 8090, $errno, $errmsg);
fputs($fp, "GET /phpth.php?act=brnrn"); //这里的第二个参数是HTTP协议中规定的请求头
//不明白的请看RFC中的定义
fclose($fp);
}
function a()
{
$fp = fopen('result_a.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "rn");
fclose($fp);
}
function b()
{
$fp = fopen('result_b.log', 'w');
fputs($fp, 'Set in ' . Date('h:i:s', time()) . (double)microtime() . "rn");
fclose($fp);
}
if(!isset($_GET['act'])) $_GET['act'] = 'a';
if($_GET['act'] == 'a')
{
runThread();
a();
echo "sssssss";
}
else if($_GET['act'] == 'b') b();
?>
以上代码从别的地方获得,供大家参考。
相关文章推荐
- PHP多线程处理问题
- PHP 文件上传后端处理实用技巧方法
- 一个经典实用的PHP图像处理类分享
- 一个经典实用的PHP图像处理类分享
- 使用Visual Basic 6实现真正实用的多线程处理
- PHP多线程【处理文件】
- 一个经典实用的PHP图像处理类
- PHP不支持多线程,有时候处理问题不是那么爽,今天谈论一下PHP定时执行的方法
- Java多线程实用篇之实现Callable接口,处理带有返回值的线程!
- php 安全处理多线程同时写操作同一文件
- 单核时代,PHP之类多线程或者多进程的,是怎么处理并发的?是排队吗?
- 知识点:简单的异常处理,多线程,同步代码块
- AJAX处理php文件示例
- PHP处理多行文本框的解决方法
- Cookies,SSL,httpclient的多线程处理,HTTP方法
- PHP对表单提交特殊字符的过滤和处理
- PHP异常与错误处理机制
- 获取二维数组中的元素(PHP 5.5新增函数),兼容低版本处理
- PHP 日期加减处理函数
- Scrapy之md5加密,多线程mysql写入,item分步处理。