有什么办法可以实现php控制多线程运行

 我来答
可以叫我表哥
2014-12-05 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
采纳数:25897 获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。

向TA提问 私信TA
展开全部
  php(做为现在的主流开发语言)中实现多线程? 看到这个标题, 你一定以为我疯了..但是事实上我真的这么做了.
  下面是我的一些做法, 已经实验过. 确实可以的.
  我们知道php(做为现在的主流开发语言)本身是不支持多线程的, 但是我们的WEB服务器是支持多线程的.
  也就是说可以同时让多人一起访问. 这也是我在php(做为现在的主流开发语言)中实现多线程的基础.
  假设我们现在运行的是a.php(做为现在的主流开发语言)这个文件. 但是我在程序中又请求WEB服务器运行另一个b.php(做为现在的主流开发语言)
  那么这两个文件将是同时执行的.
  (PS: 一个链接请求发送之后, WEB服务器就会执行它, 而不管客户端是否已经退出)
  有些时候, 我们想运行的不是另一个文件, 而是本文件中的一部分代码.该怎么办呢?
  其实可是通过参数来控制a.php(做为现在的主流开发语言)来运行哪一段程序.
  下面看一个例子:
  //a.php(做为现在的主流开发语言)

php(做为现在的主流开发语言)代码:--------------------------------------------------------------------------------
  <?php(做为现在的主流开发语言)
function runThread()
{
$fp = fsockopen(localhost, 80, $errno, $errmsg);

fputs($fp, "GET /a.php(做为现在的主流开发语言)?act=b "); //这里的第二个参数是HTTP协议中规定的请求头
//不明白的请看RFC中的定义

fclose($fp);
}
  function a()
{
$fp = fopen(result_a.log, w);
fputs($fp, Set in . Date(h:i:s, time()) . (double)microtime() . " ");

fclose($fp);
}
  function b()
{
$fp = fopen(result_b.log, w);
fputs($fp, Set in . Date(h:i:s, time()) . (double)microtime() . " ");
莘赡05V
2014-12-05 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
没有办法,PHP没有多线程,这是底层的病
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式