Rumah > pembangunan bahagian belakang > tutorial php > php中实现多线程_PHP教程

php中实现多线程_PHP教程

WBOY
Lepaskan: 2016-07-13 17:32:40
asal
815 orang telah melayarinya

php(做为现在的主流开发语言)中实现多线程? 看到这个标题, 你一定以为我疯了..但是事实上我真的这么做了.

下面是我的一些做法, 已经实验过. 确实可以的.

我们知道php(做为现在的主流开发语言)本身是不支持多线程的, 但是我们的WEB服务器是支持多线程的.

也就是说可以同时让多人一起访问. 这也是我在php(做为现在的主流开发语言)中实现多线程的基础.

假设我们现在运行的是a.php(做为现在的主流开发语言)这个文件. 但是我在程序中又请求WEB服务器运行另一个b.php(做为现在的主流开发语言)

那么这两个文件将是同时执行的.

(PS: 一个链接请求发送之后, WEB服务器就会执行它, 而不管客户端是否已经退出)

有些时候, 我们想运行的不是另一个文件, 而是本文件中的一部分代码.该怎么办呢?

其实可是通过参数来控制a.php(做为现在的主流开发语言)来运行哪一段程序.

下面看一个例子:

//a.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() . " ");

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/508699.htmlTechArticlephp (做为现在的主流开发语言) 中实现多线程? 看到这个标题, 你一定以为我疯了..但是事实上我真的这么做了. 下面是我的一些做法, 已经实...
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan