淺談Go并發之CSP并發模型、協程并發

      網友投稿 1089 2025-04-02

      淺談Go并發之CSP并發模型、協程并發


      CSP 即通信順序進程、交談循序程序,又被譯為交換消息的循序程序(communicating sequential processes),它是一種用來描述并發性系統之間進行交互的模型。

      CSP模型的最大優點是靈活。但是容易出現死鎖的情況,且未給予直接的并行支持,并行需要建立在并發的基礎之上。

      在CSP模型里面,進程間需要經過一種被稱為管道來進行通信。

      什么是管道,兩個并發任務不需要共享內存,而是通過建立一條點對點的管道,數據用完之后,管道立即撤銷。有了管道,不需要事先鎖,而是需要用數據時建立管道。不需要數據時就撤銷管道了。

      管道與共享內存之間有很大的區別,內存共享是通過內存來共享內存,而管道是通過通信來共享內存。所以管道通信比內存共享效率要高很多。

      coroutine就是協程,也稱為go程。通過管道能夠實現百萬級的并發。如果說線程是搶占式的,那么協程是協作式的。在協程里面,也是通過管道來調度的。解放線程對CPU和內存的開銷,線程是先占用CPU和內存后才調度,而協程是通過通信發送信號來調度,協程全是通過管道,由于協程的消耗比線程小很多,所以能夠實現百萬并發。

      在協程中,IO操作時絕大部分時間與CPU無關,這是管道帶來的優勢,不需要長時間鎖住內存,也不需要CPU來做調度。

      8G內存的電腦,用JAVA,C來做并發,差不多也就千級并發,而用GO語言,通過管道可以讓并發能力得到很大提升。

      淺談Go并發之CSP并發模型、協程并發

      Go 任務調度

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel表格怎么批量生成條形碼?
      下一篇:iOS之Socket的使用-AsyncSocket
      相關文章
      西西人体44rt高清亚洲| 国产亚洲综合久久| 亚洲av无码成人精品区| 2020天堂在线亚洲精品专区| 亚洲AV无码1区2区久久| 亚洲AV福利天堂一区二区三| 亚洲AV无码国产精品麻豆天美| 亚洲一级特黄大片在线观看 | 亚洲国产精品免费观看| 亚洲国产精品午夜电影| 亚洲白色白色在线播放| 亚洲专区在线视频| 亚洲男人都懂得羞羞网站| 亚洲av综合av一区| 亚洲国产精品国自产拍电影| 久久国产精品亚洲一区二区| 亚洲精品视频在线| 亚洲天堂一区二区三区四区| 国产成+人+综合+亚洲专| 亚洲人成电影网站免费| 亚洲av无码日韩av无码网站冲 | 亚洲国产aⅴ成人精品无吗| 亚洲午夜福利在线视频| 久久综合亚洲色hezyo| 亚洲Av无码乱码在线观看性色| 亚洲欧洲日产国码一级毛片| 亚洲无av在线中文字幕| 国产亚洲精品观看91在线| 亚洲伦理一区二区| 亚洲人色大成年网站在线观看| 国产色在线|亚洲| 亚洲精品色在线网站| 亚洲伊人久久成综合人影院| 国产av无码专区亚洲av果冻传媒 | 久久水蜜桃亚洲AV无码精品| 亚洲精品久久久www| 亚洲国产精品无码AAA片| 亚洲黄色一级毛片| 亚洲综合无码无在线观看| 精品国产亚洲一区二区三区在线观看 | 亚洲国产av无码精品|