這里寫問題描述
webman是基于workman為容器做的框架,而workman是非阻塞IO,那么webman是否也能實現(xiàn)非堵塞呢,就是一個進程在處理一個請求,而這個請求sleep(5),是否此刻另一個請求進來也能被處理呢
此時我只開了一個進程
這是請求打印
結果是堵塞的
如果不支持,那我對于webman的理解,它是否只是比傳統(tǒng)fpm多了個常駐內存,萌新求助
workerman v5發(fā)布了,webman配合workerman v5可以實現(xiàn)協(xié)程,遇到阻塞自動切換到其它協(xié)程做到非阻塞。
現(xiàn)在在做webman的數(shù)據(jù)庫和redis等組件的協(xié)程適配。
webman本身支持協(xié)程了,但是第三方組件很多不支持,需要逐個適配。
另外說下,世上沒有完美的方案,引入異步非阻塞或者協(xié)程后需要時刻考慮并發(fā)全局變量污染問題,資源競爭問題,開發(fā)難度會加大。