想在php中实现多线程的功能
现在要处理几个文件,把其中的数据导入到mysql数据库中,因为每个文件都很耗时,所以想同时处理。现在我在一个文件a.php中调用处理文件用的几个Php文件,是用system函数来调用,每个system分别调用一个php文件,但是运行后发现文件处理还是一个一个的执行。
想请教下要同时处理这些文件该怎么实现?

解决方案 »

  1.   

    多开几个页面执行,每个页面操作一种,php没有多线程
      

  2.   

    php不是很懂,但是这个操作是在后台操作数据库,感觉不是靠开页面来激发的操作。我看网上有一种方法是下面这样,但是我套用在自己的函数上,还是一个一个处理,不知道是哪里的问题。利用LINUX操作系统 <?php for ($i=0;$i<10;$i++) { echo $i; sleep(5); } ?> 上面存成test.php, 然后写一段SHELL代码 #!/bin/bash for i in 1 2 3 4 5 6 7 8 9 10 do php -q test.php & done 
      

  3.   

    你在命令行下面都是顺序执行的,除非是设置成后台方式
    何况是 php 呢?
      

  4.   


    无论是不是你的问题php都无法像你想的那样如同java时间片那样执行程序
      

  5.   

    比如几个处理的php文件是 file1.php  file2.php file3.php
    我在命令行用 
    php file1.php &   
    php file2.php &   
    php file3.php &
    可以一起跑,但我想在一个Php文件里调用这三个命令,目前试过system和exec,似乎都是一个一个跑的。
      

  6.   

    楼主可以尝试下 stream_select 函数,用IO复用来满足你的需求,应该可以比上面的多进程要节省很多资源
      

  7.   

    fork可以多线程,但只能在unix等系统使用,具体没研究过