李敏  
          日歷
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345
          統計
          • 隨筆 - 1
          • 文章 - 40
          • 評論 - 4
          • 引用 - 0

          導航

          常用鏈接

          留言簿(1)

          文章分類

          文章檔案

          相冊

          收藏夾

          它山之石

          聚賢莊

          搜索

          •  

          最新評論

           

          import java.util.*;

          //工廠
          class Test{
           
            public void run(){
              Queens queen=new Queens();
             
              QueenThread qt=new QueenThread(queen);
             
              new Thread(qt).start();
             
              new Thread(qt).start();
             
              System.out.println("Len=  "+queen.getQueens().size());
            }
           
            public static void main(String[]args){
              new Test().run();
            }
          }

          //生產緩存
          class Queens{
            private List buffList=null;      
            private final List queenList=new ArrayList(); 
           
            public Queens(){
              init();
            }
           
            public void init(){
             int i=0;
            
             for(int len=0;len<2;len++){
                buffList=new ArrayList();
               
                for(;i<(len+1)*3;i++){
                 buffList.add(String.valueOf(i+1));
                }
                queenList.add(buffList);
             }
            }
           
            public synchronized void deleteQueen(int index){
               queenList.remove(index);
            }
           
            public List getQueens(){
              return queenList;
            }
           
            public int getLen(){
              return queenList.size();
            }
          }

          //處理隊列緩存
          class QueenThread implements Runnable{
             private static int id=0;
             private Queens queen;
            
             public QueenThread(Queens queen){
               this.queen=queen;
             }
            
             private ThreadLocal tl=new ThreadLocal(){
                protected Integer initialValue(){
                  return new Integer(id++);
                }
             };

             public void run(){
               int currentId=((Integer)(tl.get())).intValue();
              
               List queenList=(List)queen.getQueens().get(currentId);
              
               for(int i=0;i<queenList.size();i++){
                System.out.println(Thread.currentThread().getName()+" "+(String)queenList.get(i));
                
                try{
                  Thread.sleep(2000);
                }catch(InterruptedException e){
                 e.printStackTrace();
                }
               
               }
             
               System.out.println(Thread.currentThread().getName()+" ID= "+currentId);
             }
           }

          posted on 2009-07-18 17:42 李敏 閱讀(150) 評論(0)  編輯  收藏 所屬分類: 算法
           
          Copyright © 李敏 Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 鹰潭市| 德安县| 米泉市| 孟州市| 梧州市| 东乌珠穆沁旗| 文登市| 肃宁县| 宜良县| 庆安县| 鄂州市| 延长县| 富裕县| 冀州市| 漳平市| 霍山县| 三明市| 彩票| 吴桥县| 柞水县| 荥经县| 商河县| 昭苏县| 临湘市| 交城县| 汉源县| 武清区| 靖远县| 长沙市| 东至县| 清镇市| 景宁| 萍乡市| 昌都县| 元氏县| 广宗县| 岳西县| 即墨市| 宝丰县| 高州市| 佛山市|