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

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

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

    Java-Android-jwebee
    Java-Android-jwebee
    對IT人來說,要成為一個優秀的技術型管理者,除了需要具備扎實的技術基礎之外,還應該培養良好的人際關系能力、談判與溝通技能、客戶關系與咨詢技能、商業頭腦和財務技能以及創新意識,此外還要有巧妙的激勵技巧和化解沖突與解決突發問題的能力.

    作者 R.J. Lorimer譯者 韓鍇 發布于 2008年3月23日 下午10時6分

    社區
    Java
    主題
    編程,
    性能和擴展性,
    JCP標準
    今天,處理器的內核數量在不斷增加,以什么樣的方法開發程序才能發揮出新硬件的效能呢?這正變成一個愈發重要的問題擺在了開發者面前。IBM Developerworks已經發布了一篇介紹Fork-Join并發類庫的連載文章,Fork-Join類庫會作為即將來到的Java 7的一部分進行發布。InfoQ以前也報道過Java 7中最初的fork/join提案,其中還包含來自最初創建者Doug Lea的反饋。Doug Lea在他的論文“Fork/Join Parallelism in Java”中,首次把fork/join的概念引入到Java中。Doug Lea的util.concurrent包是JSR-166的基礎,后者是發布在Java 5中的java.util.concurrentl類庫。Fork/Join是對JSR-166的簡單修訂。

    連載文章的第一部分詳細介紹了fork-join類庫的核心概念,以及它要解決的問題:
    硬件的發展趨勢非常清晰;Moore定律表明不會出現更高的時鐘頻率,但是每個芯片上會集成更多的內核。很容易想象讓十幾個處理器繁忙地處理一個粗粒度的任務邊界(比如一個用戶請求),但是這項技術不會擴大到數千個處理器——在這種環境下短時間內流量可能會呈指數級增長,但最終硬件趨勢將會占上風。當跨入多內核時代時,我們需要找到更細粒度的并行性,否則將面臨即便有許多工作需要去做而處理器卻仍處于空閑的風險。如果希望跟上技術發展的腳步,軟件平臺也必須配合主流硬件平臺的轉變。最終,Java 7將會包含一種框架,用于表示某種更細粒度級別的并行算法:fork-join框架
    第二部分深入探討了在第一部分里定義的概念,涉及到分而治之(divide-and-conquer)的編程技術:

    Fork-join融合了分而治之技術;獲取問題后,遞歸地將它分成多個子問題,直到每個子問題都足夠小,以至于可以高效地串行地解決它們。遞歸的過程將會把問題分成兩個或者多個子問題,然后把這些問題放入隊列中等待處理(fork步驟),接下來等待所有子問題的結果(join步驟),把多個結果合并到一起。

    文章接下來展示了一個使用fork/join實現合并排序(merge-sort)算法的示例。

    這個連載系列的最后一部分介紹了ParallelArray類。ParallelArray是一個可用于fork/join算法的數據結構,它提供了一個通用目的API,以高度并發的方式執行數據集的搜索、過濾和轉換。

    從事Java的BGGA閉包提案的團隊已經采納了fork-join框架與閉包協同工作。他們還在站點上提供了一個可以工作的實現。Developerworks上的那篇連載文章列舉了兩個使用ParallelArray類的例子,它們之間的區別在于是否使用了閉包:

    下面的例子是查找一組學生中最好的GPA,它用到了當前Java 7的fork/join提案:

    ParallelArray students = new ParallelArray(fjPool, data);
    double bestGpa = students.withFilter(isSenior)
    .withMapping(selectGpa)
    .max();

    public class Student {
    String name;
    int graduationYear;
    double gpa;
    }

    static final Ops.Predicate isSenior = new Ops.Predicate() {
    public boolean op(Student s) {
    return s.graduationYear == Student.THIS_YEAR;
    }
    };

    static final Ops.ObjectToDouble selectGpa = new Ops.ObjectToDouble() {
    public double op(Student student) {
    return student.gpa;
    }
    };
    下面的例子與上面的相同,不過使用了BGGA閉包提案:
    double bestGpa = students.withFilter({Student s => (s.graduationYear == THIS_YEAR) })
    .withMapping({ Student s => s.gpa })
    .max();
    根據當前的狀況估計,Java 7會在2009年早期發布。

    查看英文鏈接:Parallelism with Fork/Join in Java 7


    jwebee

    我的個人網站
    posted on 2008-03-24 19:33 周行 閱讀(552) 評論(0)  編輯  收藏 所屬分類: IT技術
    Java-Android-jwebee
    主站蜘蛛池模板: 精品一区二区三区免费| 337P日本欧洲亚洲大胆精品| jizz免费观看| 免费国产a国产片高清| 亚洲暴爽av人人爽日日碰| 精品熟女少妇AV免费观看| 在线看片韩国免费人成视频| 久久国产亚洲电影天堂| 亚洲视频一区二区三区四区| 99久久久国产精品免费无卡顿 | 91精品手机国产免费| 国产极品粉嫩泬免费观看| 亚洲国产精品18久久久久久| 日本人护士免费xxxx视频| 青青青亚洲精品国产| 免费人成在线观看播放国产| 免费无码午夜福利片| 国产精品xxxx国产喷水亚洲国产精品无码久久一区 | 亚洲成人福利在线| 中国在线观看免费高清完整版| 国产成人精品日本亚洲专区6| 大陆一级毛片免费视频观看i| 国产亚洲色婷婷久久99精品91| 成在线人免费无码高潮喷水| 女人18毛片a级毛片免费视频| 久久人午夜亚洲精品无码区| 又黄又爽一线毛片免费观看| 9久热这里只有精品免费| 亚洲人成电影亚洲人成9999网| 无码精品A∨在线观看免费| 激情内射亚洲一区二区三区爱妻| 好爽好紧好大的免费视频国产| 一级毛片视频免费| 久久亚洲春色中文字幕久久久| 成年在线网站免费观看无广告| 日本精品久久久久久久久免费| 亚洲高清国产拍精品26U| 色窝窝免费一区二区三区 | 亚洲综合视频在线| 成人免费午夜视频| 中文在线观看永久免费|