swoole v6發(fā)布了多線程
https://mp.weixin.qq.com/s/HzPEg7g3PuN2Xky4EQfnHw
可不可以借助這個,重新啟動workerman的多線程版本
這樣可以多開幾個線程跑任務,不怕進程被占用光了
還有請問這個線程之間是相互隔離,沒有使用負擔的嗎
可不可以借助這個,重新啟動workerman的多線程版本
這個需要運行在zts的環(huán)境下,workerman目前不支持zts環(huán)境,多線程版本需要對workerman底層做較大的改動,并且與進程版本互不兼容,精力有限
這樣可以多開幾個線程跑任務,不怕進程被占用光了
多線程會比多進程在性能上損耗10-20%,另外線程雖然調(diào)度資源比進程輕,但也不是真的可以隨意的彈性伸縮
還有請問這個線程之間是相互隔離,沒有使用負擔的嗎
zts版本PHP就是會對全局變量進行拷貝,整體使用跟進程沒區(qū)別,swoole v6提供了可以線程間通訊的map和array list,這一部分需要自行使用鎖或者信號量來進行處理;
完整的多線程編程還需要條件變量、互斥鎖、信號量、事件等,羅馬并不是一天就建立的
最后結(jié)論,如果想直接使用多線程,建議直接使用swoole v6 + zts php即可