西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁(yè)編程開(kāi)發(fā)其它知識(shí) → Go語(yǔ)言并發(fā)之美:解釋其中內(nèi)核、外延

Go語(yǔ)言并發(fā)之美:解釋其中內(nèi)核、外延

相關(guān)軟件相關(guān)文章發(fā)表評(píng)論 來(lái)源:微博時(shí)間:2012/11/28 13:47:54字體大小:A-A+

作者:顏開(kāi)點(diǎn)擊:71次評(píng)論:0次標(biāo)簽: Go語(yǔ)言

Flash版LOGO語(yǔ)言V9.8 免費(fèi)簡(jiǎn)體中文版
  • 類型:編程工具大。3.2M語(yǔ)言:中文 評(píng)分:6.3
  • 標(biāo)簽:
立即下載
9 頁(yè) 并發(fā)模式之實(shí)現(xiàn)

并發(fā)模式之實(shí)現(xiàn)

在并發(fā)編程大行其道的今天,對(duì)協(xié)程和通道的支持成為各個(gè)平臺(tái)比不可少的一部分。雖然各家有各家的叫法,但都能滿足協(xié)程的基本要求—并發(fā)執(zhí)行和可大量創(chuàng)建。筆者對(duì)他們的實(shí)現(xiàn)方式總結(jié)了一下。

        下面列舉一些已經(jīng)支持協(xié)程的常見(jiàn)的語(yǔ)言和平臺(tái)。

GoLang 和Scala作為最新的語(yǔ)言,一出生就有完善的基于協(xié)程并發(fā)功能。Erlang最為老資格的并發(fā)編程語(yǔ)言,返老還童。其他二線語(yǔ)言則幾乎全部在新的版本中加入了協(xié)程。

令人驚奇的是C/C++和Java這三個(gè)世界上最主流的平臺(tái)沒(méi)有在對(duì)協(xié)程提供語(yǔ)言級(jí)別的原生支持。他們都背負(fù)著厚重的歷史,無(wú)法改變,也無(wú)需改變。但他們還有其他的辦法使用協(xié)程。

Java平臺(tái)有很多方法實(shí)現(xiàn)協(xié)程:

        · 修改虛擬機(jī):對(duì)JVM打補(bǔ)丁來(lái)實(shí)現(xiàn)協(xié)程,這樣的實(shí)現(xiàn)效果好,但是失去了跨平臺(tái)的好處

        · 修改字節(jié)碼:在編譯完成后增強(qiáng)字節(jié)碼,或者使用新的JVM語(yǔ)言。稍稍增加了編譯的難度。

        · 使用JNI:在Jar包中使用JNI,這樣易于使用,但是不能跨平臺(tái)。

        · 使用線程模擬協(xié)程:使協(xié)程重量級(jí),完全依賴JVM的線程實(shí)現(xiàn)。

        其中修改字節(jié)碼的方式比較常見(jiàn)。因?yàn)檫@樣的實(shí)現(xiàn)辦法,可以平衡性能和移植性。最具代表性的JVM語(yǔ)言Scale就能很好的支持協(xié)程并發(fā)。流行的Java Actor模型類庫(kù)akka也是用修改字節(jié)碼的方式實(shí)現(xiàn)的協(xié)程。

        對(duì)于C語(yǔ)言,協(xié)程和線程一樣?梢允褂酶鞣N各樣的系統(tǒng)調(diào)用來(lái)實(shí)現(xiàn)。協(xié)程作為一個(gè)比較高級(jí)的概念,實(shí)現(xiàn)方式實(shí)在太多,就不討論了。比較主流的實(shí)現(xiàn)有l(wèi)ibpcl, coro,lthread等等。

        對(duì)于C++,有Boost實(shí)現(xiàn),還有一些其他開(kāi)源庫(kù)。還有一門(mén)名為μC++語(yǔ)言,在C++基礎(chǔ)上提供了并發(fā)擴(kuò)展。

        可見(jiàn)這種編程模型在眾多的語(yǔ)言平臺(tái)中已經(jīng)得到了廣泛的支持,不再小眾。如果想使用的話,隨時(shí)可以加到自己的工具箱中。

結(jié)語(yǔ) 

        本文探討了一個(gè)極其簡(jiǎn)潔的并發(fā)模型。在只有協(xié)程和通道這兩個(gè)基本元件的情況下?梢蕴峁┴S富的功能,解決形形色色實(shí)際問(wèn)題。而且這個(gè)模型已經(jīng)被廣泛的實(shí) 現(xiàn),成為潮流。相信這種并發(fā)模型的功能遠(yuǎn)遠(yuǎn)不及此,一定也會(huì)有更多更簡(jiǎn)潔的用法出現(xiàn)。或許未來(lái)CPU核心數(shù)目將和人腦神經(jīng)元數(shù)目一樣多,到那個(gè)時(shí)候,我們 又要重新思考并發(fā)模型了。

    相關(guān)評(píng)論

    閱讀本文后您有什么感想? 已有人給出評(píng)價(jià)!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過(guò)難過(guò)
    • 5 囧
    • 3 圍觀圍觀
    • 2 無(wú)聊無(wú)聊

    熱門(mén)評(píng)論

    最新評(píng)論

    發(fā)表評(píng)論 查看所有評(píng)論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評(píng)論需要經(jīng)過(guò)審核才能顯示)
    推薦文章

    沒(méi)有數(shù)據(jù)