就算是php可以支持多线程了, 但是对他的应用也不应该是你说的那样,像你说的"进行产品成本核算,要是上............" 这些根本就不应该是用php来完成的任务.个人认为php多线程的意义根本不大,

解决方案 »

  1.   

    虽然提供了threads扩展库,但PHP还算不上多线程的,跟系统等各方面有关系,国外有讨论的。
      

  2.   

    当然是多线程,你们可以实际测试一下,最直接的表现就是在系统中只有一个PHP进程的情况下,却在双CPU的服务器上占了90%以上的CPU。这些线程的执行进度是可控的。所有这些只有你们实际测试了这个库才知道。虽然PHP的效率远不如C/C++高,但跟JAVA一比还是可能的。要不然PHP程序员将来的出路都转向JAVA?那开始学习PHP做什么?直接学JAVA不就得了?
    再不然PHP程序员们做一辈子几乎没什么技术含量,只能拿低薪的网站程序开发者?即使你是搞网站开发?如果一个网站的服务器CPU数量比较多,那用PHP根本就是对服务器的浪费!速度比JAVA使用多线程会慢非常多。谁会选择PHP?那我们这些PHPer的发展空间在哪里?特别是电子商务网站现在越来越多,而且项目价格越来越低,那种利润较高的项目都会要求比较高的性能,靠一堆if可以吗?所以这种项目都被JAVA或是PHPer们都瞧不起的asp/asp.net拿走了。研究它是为了我们自己!希望大家认真测试一下!
      

  3.   

    谁说php程序员都要转向Java,只不过Java目前更为流行,多学一样多一点优势php程序就没有技术含量吗??????
      

  4.   

    但原来PHP对多线程支持不好,决定了它的一个进程只能利用一块CPU的能力,要用多CPU的能力必须用JAVA或.net之类的,跨平台的只有JAVA,所以当然出路只能转JAVA。但现在有了threads库,PHP已经可以了,但它的稳定性确实有些问题,大家仔细研究一下不好吗?在这里不是讨论PHP有没有前途,而是现在已经有一个非常好的解决PHP弱点的东西,为什么不好好研究呢?
      

  5.   

    不过网站程序确实已经算不上有什么技术含量了,属于是人都会做的东西了。那种非常高性能的网站往往前台有可能用PHP,但实际后台的处理很多用C之类的语言,大家必须正视这一点
      

  6.   

    对于threads库,我不了解,所以暂时也不想参与相关讨论,我只想对wfqn说几句话...网站程序确实如你所说,“属于是人都会做的东西”..
    当然,这个前提是hello world也算“网站程序”...一个好的网站程序,人人都会做吗???我看过网上很多的整站程序,很多都是设计地很粗糙的。
    扩展性低,可读性差,难维护...我学WEB设计以来,回头看看一段时间前做的程序,都感觉到大量设计(包括架构,具体代码实现)上缺陷...
    我自认为我也算一个人,奇怪的是我并没有觉得我如你说所的——人人都会做站点程序..当然这个做在上一句话里并不等于做HELLO WORLD...不过对这个帖子的讨论,我觉得还是有必要的....我也非常希望能见到PHP得到更大的发展.
      

  7.   

    我们公司是在完全用PHP做开发,开发的程序也是很大型的程序,有网站管理程序,也有大型的企业管理程序。做网站相对简单,所以用PHP一直没什么问题,效率也还可以。但做企业管理软件系统中就遇到了一些PHP无法解决的性能瓶颈,没有对线程的支持也是其中之一。所以很长时间以来,我们一直在怀疑选择PHP是不是选择错了,但已经花几年写了几十万行代码了,程序已经非常大,已经没有回头的机会。我们考虑过用PHP跟JAVA结合开发,但PHP4调用JAVA的方式效率太低,实在没有什么利用价值,无法利用JAVA相对高的运算效率。现在唯一的方法是自己用C写PHP扩展库,但那样又存在C的跨平台编程困难的问题:各种不同的操作系统使用不同的线程机制与函数库,必须要为不同的操作系统写不同的模块,而且要在不同操作系统的不同运行环境下分别编译才能正常运行,这对于跨平台的通用软件来说简单是灾难!现在来看,JAVA确实还是完美的。不知道PHP5对JAVA调用机制是不是有了改善?如果可以,我就可以考虑使用与JAVA混合编程的方式,将来逐渐转到完全用JAVA开发。但我真的不想这么做,我们的所有开发人员对PHP真的是非常熟悉了,用了那么多年,已经有非常深的感情。有时也在想,PHP真的就这么差么?前段时间突然在cvs.php.net发现了那个PECL的threads扩展库,简直是一阵狂喜!当时下载了threads的c源代码后,自己用VC编译成DLL后加载到PHP4的扩展中,运行测试结果发现确实是实现了真正的多线程!当时的感觉简单太棒了!但随后发现它带来了一些其它问题,那时以为是自己编译的方法不对。后来又在php网站上看到了PHP5提供了编译好的二进制版本,兴冲冲地安装上,结果发现跟我自己居PHP4下编译的情况差不多。我实在是无法忍受PHP这么重要的一个重大提高不能使用,如果这个问题解决了,我就不用再考虑更换JAVA的问题了,所以希望大家来一直研究一下,如果谁能解决,要我给多少分都可以,虽然我现在也只有2000来分了。
      

  8.   

    呵呵,我在php.ini中加入threads后,Apache2出错,看来,threads需要解决的问题还很多
      

  9.   

    对不起,还没有用php5.0
    我还在用php4.3.12 哦,命苦啊
      

  10.   

    这个threads库也是支持php4的,我本来就是为php4编译测试的。哪位高手同时对C和PHP都熟悉啊?帮忙分析一下源代码,看看为什么会出现这种情况?
    threads库的源代码并不多,很好读懂
      

  11.   

    我是第一次听说这个threads库,都怪自己的E文不好的啊以后有时间好好研究下,提高PHP水平。其实如果平时C不精通和做的项目不多,那看到那些源码头都晕。
      

  12.   

    对不起,还没有用php5.0
    我还在用php4.3.12 哦,命苦啊

    这个4.3.12是哪里找到的啊
    php.net上才放出4.3.10rc1啊
      

  13.   

    看来楼主对php的感情很深,说得都很中肯也很有理,希望楼主把应用心得写出来,给我们这些小辈学习,由于c语言不好,帮不了。
      

  14.   

    To  wfqn():请问你是不是奥玛的朋友?见识多了,我的体会也跟你相似,能否留个QQ号聊聊?我的是418935131
      

  15.   

    如果楼主是做应用开发的,我觉得在一定的环境下选择一种合适的工具进行工作才是正道.楼主不能扬长避短,硬是要php做他所不能胜任的工作,只会是浪费时间.
    如果楼主是致力于做工具,那么精神可嘉,帮你顶一下.
      

  16.   

    关键是我们定位是跨平台应用,因为我们的开发人员对PHP熟悉,所以就选了它。说来当时没选JAVA而选了PHP确实是一大失误。现在要找到一种好方法解决也不容易。如果这个threads库不行,也只好自己组织人写一个PHP的线程扩展了,除此之外,好像也没什么好办法。或许可以完善一下这个threads库。