c 協程如此複雜, 如何快速學習協程和網路高併發

時間 2021-05-07 06:15:42

1樓:feverzsj

C++ 20 coroutine至少在等2年吧,編譯器實現都還不成熟,一堆ICE,更不要說庫了,用stackful coroutine效率也差不多,用起來還方便得多得多。

2樓:

C++20的那個coroutine其實不能算是個協程網路庫,而是乙個無棧協程標準,或者說乙個編譯器工具,是給寫庫的人用的。

而像asio、libuv這些就是網路庫了,像asio如果進標準,應該會進行部分改造,丟掉以前那些黑魔法巨集,來使用編譯器原生支援的coroutine。你也完全可以使用corotine來封裝一下asio或者libuv的原介面來使用,基於callback的庫轉coroutine是比較方便的。

如果你不是寫庫的,那麼使用提供了coroutine介面的網路庫來編寫網路應用是比較簡單的。就跟c#,js,rust這幾個語言的async/await基本乙個味道。

3樓:

那麼怎麼學習? 用什麼庫呢?

或許你應該不要想著庫,可以試著接觸下posix/systemv/伯克利套接字程式設計之類的

看看unp1/2

為什麼古代語言發音如此複雜?

不否認古音確實是像那樣,從現代的觀點看複雜,只是對古人來說其實不難。代償機制的產生,以及古語不是複雜只是陌生這些觀點,其他答主也有解釋了。這裡我僅提供個額外的角度 古音音系複雜不排除是因為在構擬原始語時,為了兼顧後代語言盡可能多的音素,就寫得比實際繁瑣了。比如上古漢語,原始印歐語看起來就很可怕,雖然...

世界如此複雜,我們還能像當初那樣單純嗎?

莫伊寧 或許單純與否並不那麼重要,隨著年齡的增長,我們的心智和思維模式都在增長,廣義上來說肯定是越來越不 單純 但不管世界怎樣變化,我們都該做乙個內心堅定的自己。有清晰的原則和底線,保持善良,真誠,熱愛生活,熱愛自然。願你能找到自己,擁抱自己,不再被這樣的問題困擾。 滿天星 不能。人生若只如初見,何...

為什麼英國的舊貨幣制度如此複雜?

Richard Xu 搬運一下 sd sd occasionally written Lsd is the popular name for the pre decimal currencies once common throughout Europe,especially in the Brit...