李敏  
日历
<2024年5月>
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
统计
  • 随笔 - 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 李敏 阅读(131) 评论(0)  编辑  收藏 所属分类: 算法

只有注册用户登录后才能发表评论。


网站导航:
 
 
Copyright © 李敏 Powered by: 博客园 模板提供:沪江博客