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

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

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

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    多線程的notifyAll/wait控制

    Posted on 2007-11-09 01:31 dybjsun 閱讀(210) 評論(0)  編輯  收藏 所屬分類: 多線程主題
      當多線程啟動時,怎么才能控制他們有秩序地執行。本例模擬一個容器,當容器里有東西時,通知各個線程來取得這些東西,如果沒有取到東西,則進入等待狀態。(特別注意在通知各個線程notifyAll和等待wait這些方法一定要寫在同步塊中)
    ?1?package?com.noahsi.fulltextsearch.index.basic;
    ?2?
    ?3?import?java.util.ArrayList;
    ?4?import?java.util.List;
    ?5?
    ?6?import?com.noahsi.fulltextsearch.index.model.LinkModel;
    ?7?import?com.noahsi.fulltextsearch.util.Debug;
    ?8?
    ?9?public?class?Container?{
    10?
    11??private?List?container?=?null;
    12?
    13??public?Container()?{
    14???container?=?new?ArrayList();
    15??}
    16?
    17??public?Container(LinkModel?model)?{
    18???container?=?new?ArrayList();
    19???container.add(model);
    20??}
    21?
    22??public?Container(List?list)?{
    23???container?=?new?ArrayList();
    24???container.addAll(list);
    25??}
    26?
    27??public?synchronized?void?listener()?{
    28???if?(container.size()?>?0)?{
    29????this.notifyAll();
    30???}
    31??}
    32?
    33??public?synchronized?LinkModel?getLinkModel()?{
    34???if?(container.size()?==?0)?{
    35????try?{
    36?????this.wait();
    37????}?catch?(InterruptedException?ie)?{
    38????}
    39????return?null;
    40???}
    41???return?(LinkModel)?container.remove(0);
    42??}
    43?
    44??public?synchronized?void?putLinksModel(List?links)?{
    45???LinkModel?temp?=?null;
    46???for?(int?i?=?0;?i?<?links.size();?i++)?{
    47????temp?=?(LinkModel)?links.get(i);
    48????if?(!container.contains(temp))?{
    49?????container.add(temp);
    50????}
    51???}
    52???this.notifyAll();
    53??}
    54?
    55??public?synchronized?void?putLinkModel(LinkModel?model)?{
    56???if?(model?!=?null)?{
    57????container.add(model);
    58???}
    59???this.notifyAll();
    60??}
    61?
    62??public?synchronized?void?active()?{
    63???this.notifyAll();
    64??}
    65?
    66??public?int?getSize()?{
    67???return?container.size();
    68??}
    69?}
    主站蜘蛛池模板: 2019中文字幕在线电影免费| 成人免费午间影院在线观看| 免费成人在线视频观看| 久草免费在线观看视频| 亚洲乱码中文字幕手机在线| 精品亚洲成a人片在线观看| 国产亚洲成在线播放va| 日本免费一区二区三区| 亚洲AⅤ永久无码精品AA| 亚洲精品在线免费观看| 你懂的免费在线观看| 在线观看免费国产视频| 亚洲电影唐人社一区二区| 91久久精品国产免费一区| 国产亚洲美女精品久久久| 亚洲αⅴ无码乱码在线观看性色| 无码成A毛片免费| 区久久AAA片69亚洲| 黄色毛片视频免费| 免费看的黄色大片| 亚洲乱码日产精品BD在线观看| 国产猛男猛女超爽免费视频| 亚洲三级电影网站| 中文字幕看片在线a免费| 亚洲毛片不卡av在线播放一区| 黄色网页在线免费观看| 日韩亚洲精品福利| 中国videos性高清免费| 久久亚洲AV无码精品色午夜麻豆| 国产情侣久久久久aⅴ免费| 亚洲第一页在线播放| 日韩成全视频观看免费观看高清 | 亚洲高清中文字幕免费| 亚洲电影一区二区| a级在线观看免费| 亚洲成在人线电影天堂色| 69视频免费在线观看| 亚洲精品永久在线观看| 免费毛片在线播放| 国产免费黄色无码视频| 亚洲综合免费视频|