libgod高性能異步網(wǎng)絡(luò)服務(wù)框架
libGod是一個(gè)全異步+協(xié)程機(jī)制實(shí)現(xiàn)的網(wǎng)絡(luò)庫(kù),適用于windows、linux、bsd等多種平臺(tái)。內(nèi)部使用IOCP、epoll、kqueue等系統(tǒng)調(diào)用管理事件機(jī)制,同時(shí)巧妙的利用協(xié)程,將復(fù)雜的異步邏輯轉(zhuǎn)換為同步,使用起來(lái)非常簡(jiǎn)單。libGod致力于為游戲、云計(jì)算等高并發(fā)服務(wù)器提供一個(gè)高性能而且簡(jiǎn)單易用的底層,封裝了多線程,IO,內(nèi)存緩沖區(qū)等復(fù)雜邏輯,上層應(yīng)用只要專注寫(xiě)邏輯,使用libGod很容易就可以開(kāi)發(fā)出一個(gè)高性能高并發(fā)的服務(wù)器。
從2.0版本開(kāi)始,有兩個(gè)大的變化:
- 為了加快開(kāi)發(fā)進(jìn)度,暫時(shí)去除了linux以外平臺(tái)的支持,專注于linux平臺(tái)的開(kāi)發(fā)。
- 分出了單線程和多線程版本。我們專門(mén)針對(duì)單線程進(jìn)行了特殊優(yōu)化,調(diào)度性能比多線程版本高。單線程版還有一個(gè)很大的優(yōu)勢(shì)就是邏輯更簡(jiǎn)單了?,F(xiàn)在很多系統(tǒng)的線程是搶占式的調(diào)度,訪問(wèn)共享資源就免不了加鎖。協(xié)程是協(xié)作式調(diào)度,大部分情況下是不需要加鎖的。而了解我們項(xiàng)目的應(yīng)該都知道,libGod整個(gè)框架是基于協(xié)程驅(qū)動(dòng)的。libGod多線程版雖然也是基于協(xié)程,但因?yàn)閵A雜著多線程的搶占式調(diào)度,所以處處還是需要加鎖。而單線程版就是單純的協(xié)作式調(diào)度,所以絕大部分情況可以不用加鎖。
評(píng)論
圖片
表情
