代码之家  ›  专栏  ›  技术社区  ›  Knowledge Craving

PHP中线程的实现

  •  0
  • Knowledge Craving  · 技术社区  · 14 年前

    有人能描述一下如何在PHP编程中实现线程吗?我可以肯定的是,PHP不支持线程概念。但是,如果我错了,请纠正我。

    如果可能的话,请尝试用一个关于PHP线程的例子来提供一些细节。

    如果可能的话,有人能提供一些PHP模块线程安全的细节吗?我知道这是市场上的热门话题,但对于我这样的傻瓜来说,却没有任何好的、可以理解的细节。

    非常感谢您的帮助。

    2 回复  |  直到 13 年前
        1
  •  2
  •   Marc B    14 年前

    线程是PHP开发路线图上的一部分,但在当前版本的PHP中是不可能的。没有线程生成函数,没有线程处理函数,没有线程同步函数等等。。。同样,大多数PHP插件/模块/库都需要重写以安全地处理线程,因为构建它们时只考虑单线程执行。

    mysql_insert_id() 返回?因为在PHP中没有线程感知,所以您很可能从在完全不同的线程中执行的insert操作中获得ID。

    您当然可以使用PHP fork() popen() , proc_open() 等等。。。启动脚本的多个副本,并同时运行这些副本,但这只是多个处理。每个都有自己的环境、内存、文件句柄等。。。

        2
  •  0
  •   Halayem Anis    9 年前

    5年后。。。

    你好
    下面是一个如何在PHP中实现线程的示例:

    class Test extends Thread {
        public function run() {
            print "I'm running in new Thread, i will finish my job in 20 seconds";
            sleep(20);
        }
    }
    
    test = new Test();
    test->start();
    print "I'm the main thread and i don't have to wait 20 seconds";
    

    这里是官方文件的链接 PHP_PTHREADS

    希望有帮助:)