sunhuaer123  

阻塞队列:BlockingQueue 队列是定义好的队列在插入数据时,若插入数据已满,则队列阻塞

同步队列:SynchronousQueue 队列是定义同步队列,在去数据时,数据才可插入到队列当中

线程池:可实现Web服务器功能,主要的类为Executors,创建线程池代码为:

/**
  *创建线程池
**/
ExecutorService threadPool = Executors.newSingleThreadExecutor();
threadPool.execute(new Runnable(){
  @Override
    public void run() {
     //具体方法
    }
});

/**
  *创建定时器
**/
ScheduledExecutorService schedulePool = Executors.newScheduledThreadPool(3);
        schedulePool.scheduleAtFixedRate(new Runnable(){
            @Override
            public void run() {
                System.out.println("Bombing!");
            }
        }, 
        10,
        2,
        TimeUnit.SECONDS);

 

 ThreadLocal : 线程范围内的的共享变量是指对同一个变量所用的类,同时可通过单例模式对ThreadLocal覆盖:

class MyThreadLocalScopeData{
	
	private MyThreadLocalScopeData(){}
	
	private static ThreadLocal<MyThreadLocalScopeData> map = new ThreadLocal<MyThreadLocalScopeData>();
	
	public static MyThreadLocalScopeData getInstance(){
		
		MyThreadLocalScopeData instance = map.get();
		if(instance == null)
		{
			instance = new MyThreadLocalScopeData();
			map.set(instance);
		}
		return instance;
	}
	
	private String name;
	private int age;

	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
}

JavaSE对于Thread提高的工具类主要在java.util.concurrent下,其中AtomicInteger为示例,其它跟其功能类似。 

posted on 2013-05-18 20:03  sunhuaer123  阅读(137)  评论(0)    收藏  举报