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

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

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

    posts - 68, comments - 19, trackbacks - 0, articles - 1

    JDK7在現代多核戰爭中細粒度的攻勢

    Posted on 2010-12-14 11:01 viery 閱讀(410) 評論(0)  編輯  收藏 所屬分類: JavaSE
    如果在這里引用一下達爾文的“物種起源”和他在進化論中的觀點再合適不過了:“真實的情況是,大自然選擇了最適合的品種,優勝劣汰,適者生存,這一過程被稱為物競天擇。”

      我敢肯定,為了在并行化的年代生存,開發者一定會選擇最適合多核開發的編程語言,這一過程也該被稱為物競天擇。不能夠自我發展以支持多核編程的開發語言將是不會有機會生存在這個新時代的。幸運的是,我們看到JDK 7已針對并行化提供了諸多改進,它能夠誘惑足夠的多核程序員成為它的擁躉。

      Java從第一個版本開始就支持多線程。然而,在Java誕生時,多核處理器還遠遠沒有問世。因此,舊的Java線程模型并沒有在這方面做過多考慮。舊模式在只有一個處理核心時能夠創建響應性更強的應用,表現可以說非常優秀,但它確實沒有為高并發級別做好準備。如今的多核心編程需要許多并行任務共同運行,充分利用所有可用的核心,而在這種情況下舊模式顯然已經落后了。

      為此,JDK 5中加入了對粗顆粒并發的框架支持,使新模式能夠適合于多處理器系統。而JDK 7中將進一步添加對細顆粒并行的支持,使用新的fork-join框架,給開發者提供了深入多核微處理器的可能性。

      可以肯定地說,在多核革命中,Java將不斷的進化以謀求生存。

      新的框架提供了根據任務工作的可能性,而并不需使用過多的線程。例如,在新提供的java.util.concurrent.forkjoin包中,JDK 7將提供以下有用的基類

      ◆RecursiveAction:代表divide-and-conquer解決方法類

      ◆RecursiveTask:代表result-bearing任務

      ◆AsyncAction:與需要異步完成的任務協同工作

      ◆CyclicAction:與并行迭代任務協同工作

      新的fork-join任務的設計目的為將工作量最小化,并提高計算密集型任務的性能。此外,比起舊版的線程編碼,代碼更加容易理解,開發者需要的同步時間會更少。

      對于在多核CPU上運行的計算密集型任務,新的fork-join框架將會非常有用。

      JDK 7還將提供許多其他功能,比如新的ParallelArray類等(請參考:Java 7新特性展望)。然而,我還是更想把重點放在新的fork-join框架上。

      Java正在不斷進化中,因此,作為Java開發者也必須不斷的提高自己,充分利用這些即將到來的功能。

    主站蜘蛛池模板: 日本在线免费观看| 亚洲一区二区在线免费观看| 亚洲人成电影网站免费| 亚洲精品免费在线观看| 外国成人网在线观看免费视频 | 两个人看www免费视频| 亚洲伊人成无码综合网| 一级一级一片免费高清| 久久亚洲中文字幕精品一区| 大学生高清一级毛片免费| 在线综合亚洲中文精品| 欧洲一级毛片免费| 久久亚洲国产最新网站| 国产jizzjizz免费视频| 特色特黄a毛片高清免费观看| 久久久久国产亚洲AV麻豆| 免费国产污网站在线观看| 老司机亚洲精品影院| 真人做A免费观看| 国产成人99久久亚洲综合精品| 五月天国产成人AV免费观看| 亚洲精品字幕在线观看| 国产偷国产偷亚洲高清在线| 亚洲人AV永久一区二区三区久久| 精品四虎免费观看国产高清午夜| 亚洲精品福利网泷泽萝拉| 女人与禽交视频免费看| 一区二区三区免费电影| 亚洲天堂男人天堂| 日韩中文字幕在线免费观看| 中国国语毛片免费观看视频| 亚洲视屏在线观看| 国产人妖ts在线观看免费视频| a级毛片高清免费视频就| 精品亚洲成在人线AV无码| 9277手机在线视频观看免费| 精品亚洲综合久久中文字幕| 羞羞视频免费网站日本| 亚洲精选在线观看| 国产一级大片免费看| 嫩草在线视频www免费观看|