国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

PHP比C/C++或Java少了什么?多線程,多線程,多線程……

瀏覽:70日期:2022-09-05 18:35:16

昨天和一個前同事聊天,各種吐槽PHP,吐槽Swoole,他認為PHP到處是坑,PHP局限很大。PHP+Swoole不適合做高并發服務器,C+Swoole才是最好的方案。C++有各種數據結構,C++可以開線程,C++可以共享對象??磥碛斜匾煤玫谜f明一下了。

PHP比C/C++或Java少了什么?多線程,多線程,多線程……

是的。PHP比C/C++、Java少了多了多線程。PHP只有多進程的方案,所以PHP里的全局變量和對象不是共享的、數據結構也不能跨進程操作、Socket文件描述符不能共享等等。所以PHP有局限?

多線程看似比多進程要強大很多,實際上我可以負責任的告訴你,多線程帶來的坑更多

數據同步問題會讓你崩潰的。要么就犧牲性能到處加鎖,要么就用地獄難度的無鎖并發編程,據我所知目前國內能掌握此項技能的人鳳毛麟角。不要以為加鎖就萬事大吉了,你會在死鎖問題上栽個大跟頭。當你的程序邏輯復雜后,鎖越來越難控制了,一旦死鎖你的程序基本上就完了。某個線程掛了那所有線程都會退出反而在看多進程,其實就簡單的多了。配合進程間通信,基本上你可以實現任意的數據共享。比如利用一個進程專門存數據結構和對象,其他進程的數據操作全部投遞到此進程來多進程不需要鎖多進程可以使用共享內存的數據結構實現一些多線程的功能。如Swoole提供的Table、Atomic可以實現數據共享,但成本很低。未來還會加入共享內存隊列

所謂PHP限制了Swoole,這完全是無稽之談。合理利用Swoole提供的Table、Atomic、SendMessage/PipeMessage、Task完全可以實現異步非阻塞的代碼邏輯。

C++寫出來的程序性能更好?

這完全是盲目的迷信,密集計算的程序C++確實是有優勢的。而并發服務器核心是IO,并非大規模密集運算。C++從語言層面來看并沒有什么優勢。另外C++中的大部分數據結構在PHP中都有對應的實現,實在不行自己寫個專門的擴展也能解決之。

高并發的服務器單機能維持10W連接、每秒可處理3-5W筆消息收發。這種性能水準已經可以應用在BAT的核心系統上了。

開發效率快的意義是什么?

這位同事還說PHP開發Server雖然比C++快了,但是追求性能的極致還是要用C++。我要告訴你效率高了究竟意義何在。開發一套好程序不是一件容易的事情,需要程序員投入大量時間和精力。開發效率提升的意義并不是簡單的我可以更少時間完工,而是剩下的時間你可以增加單元測試、修復BUG、提升用戶體驗、完善細節、提供配套工具、優化性能、增加關鍵日志、增加監控報警、增加容災方案。

標簽: Java
相關文章:
主站蜘蛛池模板: 国产网站黄| 国产成人精品实拍在线 | 国产男女爽爽爽爽爽免费视频 | 51久久夜色精品国产 | 毛片久久| 国产丝袜不卡一区二区 | 男女扒开双腿猛进入免费网站 | 国产在线乱子伦一区二区 | 99精彩视频在线观看 | 国产日韩欧美一区二区三区综合 | 日韩精品中文字幕一区二区三区 | 国产成人18黄网站免费 | 一级a毛片免费观看久久精品 | 国产美女精品三级在线观看 | 国产91久久久久久久免费 | 欧美激情精品久久久久久久九九九 | 超清波多野结衣精品一区 | 国产福利微拍精品一区二区 | 久久黄色免费网站 | 亚洲成a人片在线播放 | 性做久久久久免费观看 | 狠狠色综合久久丁香婷婷 | 波多野结衣3女同在线观看 波多野结衣aⅴ在线 | 一区二区三区视频网站 | 亚洲精品中文字幕久久久久久 | 美女在线网站免费的 | 亚洲精品一区二区综合 | 在线观看精品视频 | 在线免费一级片 | 老头老太做爰xxx视频 | 国产成人影院一区二区 | 一区二区三区在线视频观看 | 一级特黄性色生活片一区二区 | 久久九| 中国的毛片 | 久久96国产精品久久久 | 国产欧美精品三区 | 99热久久国产这里是精品 | 女同日韩互慰互摸在线观看 | 美女扒开双腿让男人爽透视频 | 综合色久七七综合七七蜜芽 |