<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    聶永的博客

    記錄工作/學(xué)習(xí)的點點滴滴。

    Fork/Join模式(JSR166y)手記之JVAA6搭建環(huán)境,開始學(xué)習(xí)

    Doug Lea的jsr166y,主要體現(xiàn)在Fork/Join模式,分而治之,然后合并結(jié)果,這么一種編程模式。相比JDK 1.6內(nèi)置的JUC并發(fā)框架,更加細粒度。雖然已經(jīng)內(nèi)置JDK 1.7中,但本文環(huán)境基于JDK 1.6,因此在相關(guān)包的引用方面,差異在于包的路徑。
    有關(guān)Fork/Join的一些摘抄:
    fork/join框架是一個“多核友好的、輕量級并行框架 ”,它支持并行編程風(fēng)格,將問題遞歸拆分成多個更小片斷,以并行和調(diào)配的方式解決。Fork-join融合了分而治之技術(shù);獲取問題后,遞歸地將它分成多個子問題,直到每個子問題都足夠小,以至于可以高效地串行地解決它們。遞歸的過程將會把問題分成兩個或者多個子問題,然后把這些問題放入隊列中等待處理(fork步驟),接下來等待所有子問題的結(jié)果(join步驟),把多個結(jié)果合并到一起。
    Doug Lea描述了fork/join框架最可能的使用場景和采用過程:
    總之,我期望其使用曲線與其他并發(fā)工具雷同。最初,只有較少真正需要的人使用它們,但最終很難找到不依賴于它們的程序,它們常常深埋在底層基礎(chǔ)架構(gòu)組件中。因此,表面語法支持可能并不是那么重要——類庫/組件開發(fā)者越是想合并它們,其用法越是表現(xiàn)的笨拙。
    理想的情況下,有幾個使用層次:
    1. “并行做事”層次,語言或工具翻譯成并行代碼,同時檢查安全性/活躍性。這仍部分處于研究領(lǐng)域。

    2. 安排集合的并行操作。——map、reduce、apply等等。那些想使用一次性操作特性操縱集合的程序員們,可以使用這些特性來提高常用處理類型的速度。(這是ListTasks、ArrayTasks等等層次)

    3. 手工生效forkjoin以解決特定問題。這是我正在全力投入的層次,以確保我們可能使用工作竊取框架來支持范圍廣泛的并行算法。(當(dāng)前一些怪模怪樣的和缺乏解釋的方法,如isQuiescent是為這種高級用法設(shè)計的。多數(shù)程序只使用“fork”和“join”,但當(dāng)你需要其他這些方法時,它們也被提供了。)

    4. 擴展框架以創(chuàng)建新類型的ForkJoinTasks等等。例如,那些需要事務(wù)的操作。只有很少量的人(例如,或許是Fortress運行時類庫開發(fā)者)需要這么做,但是需要有足夠的基礎(chǔ)擴展鉤子來才能做好。
    本文開始學(xué)習(xí),按照心得步驟一步一步進行學(xué)習(xí)。即將開始。
    Doug Lea有關(guān)JUC的官網(wǎng)地址:http://gee.cs.oswego.edu/dl/concurrency-interest/
    1. 下載原始代碼(http://gee.cs.oswego.edu/cgi-bin/viewcvs.cgi/cvs-root.tar.gz?parent=1&view=tar)到本地
    2. 把cvs-root.tar.gz解壓到本地某個目錄,假設(shè)解壓地址是d:\workspace\jsr166
    3. 進入CMD命令行,切換到d:\workspace\jsr166目錄下
    4. 運行ANT命令:ant jsr166ydist (沒設(shè)置ANT環(huán)境,自行處理)
    5. 在dist目錄生成jsr166y.jar文件、docs目錄
    在相關(guān)項目中加入jsr166y.jar依賴即可。
    必備條件:JDK 1.6
    機器配置:
    操作系統(tǒng) Windows XP 專業(yè)版 32位 SP3
    處理器 英特爾 Pentium(奔騰) P6200 @ 2.13GHz
    內(nèi)存 4 GB ( 金士頓 DDR3 1333MHz / 三星 DDR3 1333MHz )
    參考資料:
    1. Java 7的并行支持:Fork/Join
    2. Java SE 7的新并發(fā)特性
    3. Adam Messinger談Java 7與8

    posted on 2012-02-03 23:01 nieyong 閱讀(2787) 評論(0)  編輯  收藏 所屬分類: Java

    公告

    所有文章皆為原創(chuàng),若轉(zhuǎn)載請標明出處,謝謝~

    新浪微博,歡迎關(guān)注:

    導(dǎo)航

    <2012年2月>
    2930311234
    567891011
    12131415161718
    19202122232425
    26272829123
    45678910

    統(tǒng)計

    常用鏈接

    留言簿(58)

    隨筆分類(130)

    隨筆檔案(151)

    個人收藏

    最新隨筆

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲国产精品专区在线观看| 国产又大又粗又长免费视频| 免费观看黄网站在线播放| 亚洲AV无码专区国产乱码4SE| 精品国产日韩亚洲一区在线 | 成人免费午夜在线观看| 亚洲精品私拍国产福利在线| 亚洲中文字幕久久久一区| 免费观看成人久久网免费观看| 日韩电影免费在线| 亚洲一区二区三区在线| 99热这里只有精品免费播放| 亚洲av日韩av无码| 99久久久国产精品免费牛牛四川 | 一级毛片aaaaaa视频免费看| 国产亚洲福利一区二区免费看| 亚洲粉嫩美白在线| 久久精品免费视频观看| 亚洲视频2020| 国产精品成人观看视频免费| 亚洲精品国产电影午夜| 曰批视频免费40分钟试看天天| 久久精品国产亚洲AV麻豆不卡 | 最近免费中文字幕大全视频 | 亚洲精品V欧洲精品V日韩精品| 国产成人高清亚洲一区久久| 国产免费观看视频| 亚洲人成色4444在线观看| 四虎在线最新永久免费| 亚洲欧洲校园自拍都市| 青青青国产在线观看免费网站| 亚洲人成电影在线观看青青| 在线免费观看视频你懂的| 亚洲AV永久无码精品网站在线观看| 亚洲国产av无码精品| 久久国产精品成人片免费| 亚洲精品无码av中文字幕| 亚洲中文字幕无码久久2017| 免费观看无遮挡www的小视频| 黄色一级毛片免费| 亚洲精品视频观看|