文章詳情頁
python - 使用goroutine+channel和java多線程+queue隊列的方式開發(fā)各有什么優(yōu)缺點(diǎn)?
瀏覽:173日期:2022-08-08 15:09:56
問題描述
我感覺很多項目使用java或者c的多線程庫+線程安全的queue數(shù)據(jù)結(jié)構(gòu)基本上可以實現(xiàn)goroutine+channel開發(fā)能達(dá)到的需求,所以請問一下為什么說golang更適合并發(fā)服務(wù)端的開發(fā)呢?使用goroutine+channel和java多線程+queue隊列的方式開發(fā)各有什么優(yōu)缺點(diǎn)?
問題解答
回答1:http://tleyden.github.io/blog...
goroutine比thread開銷更小,而且更加簡單
回答2:線程需要搶鎖,會浪費(fèi)cpu性能,并行變?yōu)榇校鴊orouten是以通知發(fā)送數(shù)據(jù)給單獨(dú)線程做一個副本,然后其他線程不用競爭鎖的方式去真正并行執(zhí)行
上一條:python - 關(guān)于django的登陸成功后的view,使用login_required裝飾后無法正常顯示?下一條:python - flaskweb開發(fā)這本書中,自定義錯誤頁面無法渲染?
相關(guān)文章:
1. boot2docker無法啟動2. docker-compose中volumes的問題3. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””4. java - SSH框架中寫分頁時service層中不能注入分頁類5. nignx - docker內(nèi)nginx 80端口被占用6. docker安裝后出現(xiàn)Cannot connect to the Docker daemon.7. javascript - mock.js可以存儲數(shù)據(jù)嗎8. docker api 開發(fā)的端口怎么獲取?9. docker images顯示的鏡像過多,狗眼被亮瞎了,怎么辦?10. golang - 用IDE看docker源碼時的小問題
排行榜

熱門標(biāo)簽
網(wǎng)公網(wǎng)安備