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

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

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

    konhon

    忘掉過去,展望未來。找回自我,超越自我。
    逃避不一定躲的過, 面對不一定最難過, 孤單不一定不快樂, 得到不一定能長久, 失去不一定不再擁有, 可能因為某個理由而傷心難過, 但我卻能找個理由讓自己快樂.

    Google

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      203 Posts :: 0 Stories :: 61 Comments :: 0 Trackbacks
    不管我是多么喜歡JAVA但是,從實際開發角度講,Java的多線程確實沒有C++好使。
    表現在:
    1.Java沒有全局變量;
    2.Java 的線程之間的通信比較差,C++提供了多種通信方式;
    3.Java的數據同步是通過synchronized來實現,但是基本上等于交給了虛擬機來完成,
    而C++有很多種:臨界區、互斥體等。
    4. Java的多線程run方法沒有返回值,因此如何能得到子線程的反饋信息,確實令人頭疼。
    5.Java的多線程是協作式,這樣等于操作系統放棄了對線程的控制;

    這里談談我在java多線程中的編寫經驗:
    1.創建thread時,將主控類或者叫做調用類傳入構造函數中,例如:
     Class A調用Class B,Class A作為Class B構造函數的參數。
    這樣再創建一個子線程時,用同樣的方式實現,這樣主控類的實例變量就可以作為
    全局變量,當然要注意同步。

    2. 類同步中wait(),notify()一定要考慮好邏輯,不然有可能造成阻塞。

    3. 如果多個線程調用或者目前不是很清楚有多少個線程進行通信,最好的辦法是
    自己實現一個listener,然后調用類調用Listener的一個實例方法進行通信。
    工作原理:

       1) Listener接口提供同步方法  例如SynData();
       2) 同步線程提供添加和刪除Listener的方法,同時在線程中對注冊Listener
    的類進行輪流通知;
       3) 使用給同步數據的線程類,繼承Listener接口,實現其方法,將本線程即將結束的數據發送到同步線程中;

    其實這個原理來自于Java Swing技術。
    由于時間關系,今天就談到這里,希望能拋磚引玉!!請大家多多指教!
    下一次談一談我用上面的方式實現的一個網關實例,謝謝各位!

     

    posted on 2005-09-22 21:25 konhon 優華 閱讀(385) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 69xx免费观看视频| 久久亚洲国产成人精品无码区| 亚洲成a人无码亚洲成www牛牛 | 麻豆91免费视频| 午夜亚洲AV日韩AV无码大全| 国产精品成人免费视频网站京东| 免费无遮挡无遮羞在线看 | 亚洲人成无码网站在线观看| 亚洲日韩国产一区二区三区| xxxxwww免费| 国产精品小视频免费无限app| 亚洲91精品麻豆国产系列在线 | 亚洲成AV人影片在线观看| 亚洲av成人无码久久精品| 小小影视日本动漫观看免费| 国产成人精品无码免费看| 狠狠入ady亚洲精品| 亚洲理论片在线中文字幕| 久久亚洲国产成人影院网站| 成人午夜免费福利| 99爱在线精品视频免费观看9| 色偷偷亚洲男人天堂| 亚洲国产成人精品无码一区二区| 国产黄色一级毛片亚洲黄片大全| 大地资源在线观看免费高清| 国产麻豆一精品一AV一免费| 国产AV日韩A∨亚洲AV电影| 亚洲精品中文字幕麻豆| 久久精品国产精品亚洲艾草网美妙| 好大好深好猛好爽视频免费| 99精品在线免费观看| 久久免费国产精品| 国产成人亚洲综合在线| 亚洲免费福利在线视频| 亚洲色图.com| 亚洲丝袜美腿视频| 亚洲av永久无码精品古装片| 亚洲精品亚洲人成在线观看下载| 暖暖在线日本免费中文| 无码免费午夜福利片在线 | 免费无码又爽又刺激高潮|