阻塞队列: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为示例,其它跟其功能类似。

浙公网安备 33010602011771号