高並發(High Concurrency)是網路分散式系統架構設計中必須考慮的因素之一,它通常是指,透過設計保證系統能夠同時並行處理很多請求。
影片課程推薦→:《千萬資料並發解決方案(理論實戰)》
go為什麼能做到高並發
goroutine是Go平行設計的核心。
goroutine說到底其實就是協程,但是它比線程更小,幾十個goroutine可能體現在底層就是五六個線程,Go語言內部幫你實現了這些goroutine之間的記憶體共享。
執行goroutine只需極少的堆疊記憶體(大概是4~5KB),當然會根據對應的資料伸縮。
也正因為如此,可同時運行成千上萬個並發任務。 goroutine比thread更易用、更有效率、更輕。
一些高並發的處理方案基本上都是使用協程,openresty也是利用lua語言的協程做到了高並發的處理能力,PHP的高性能框架Swoole目前也在使用PHP的協程。
協程更輕量,佔用記憶體更小,這是它能做到高並發的前提。
擴展知識:
GO語言在WEB開發領域的使用越來越廣泛,Hired 發表的《2019 軟體工程師狀態》報告中指出,具有Go 經驗的候選人是迄今為止最具吸引力的。
【相關推薦:Go影片教學】
以上是golang 為什麼高並發的詳細內容。更多資訊請關注PHP中文網其他相關文章!