Java线程-新特性
来源:互联网 发布:ubuntu 14.04网卡配置 编辑:程序博客网 时间:2024/04/27 20:17
这里总结一下1.5以后java线程的新特性内容。
具体使用和细节可以直接通过API查看。
这里只是总结一下都有什么内容。方便自己查看。
1.线程池 Executors
固定大小的线程池:
ExecutorService pool = Executors.newFixedThreadPool(size);
单任务线程池:
ExecutorService pool = Executors.newSingleThreadExecutor();
可变尺寸的线程池:
ExecutorService pool = Executors.newCachedThreadPool();
延迟连接池:
ScheduledExecutorService pool = Executors.newScheduledThreadPool(size);
单任务延迟连接池:
ScheduledExecutorService pool = Executors.newSingleThreadScheduledExecutor();
自定义线程池:
3.锁 ReadWriteLock Lock
5.阻塞队列 BlockingQueue
7.条件变量 Condition
9.障碍器 CyclicBarrier
ThreadPoolExecutor pool = new ThreadPoolExecutor(corePoolSize,maximumPoolSize,keepAliveTime,TimeUnit.MILLISECONDS,bqueue);
corePoolSize--池中所保存的线程数,包括空闲线程。
maximumPoolSize--池中允许的最大线程数。
keepAliveTime--当线程数大于核心时,此为终止前多余的空闲线程等待新任务的最长时间。
TimeUnit--参数的时间单位。
bqueue--执行前用于保持任务的队列。BlockingQueue<Runnable> bqueue = new ArrayBlockingQueue<Runnable>(size);
自定义线程池可以获取到当前线程池的尺寸、正在执行任务的线程数、工作队列等信息。
2.有返回值的线程 Callable Future
实现Callable
Future f = Executor.submit(callable);f.get();
3.锁 ReadWriteLock Lock
锁:
Lock lock = new ReentrantLock();
读写锁:
ReadWriteLock lock = new ReentrantReadWriteLock(false);
4.信号量 Semaphore
Semaphore sp = new Semaphore(size);sp.acquire(x);//信号许可sp.release(x);//信号释放
5.阻塞队列 BlockingQueue
BlockingQueue bqueue = new ArrayBlockingQueue(20);
6.阻塞栈 BlockingDeque
BlockingDeque bDeque = new LinkedBlockingDeque(20);
7.条件变量 Condition
Condition condition = lock.newCondition();
8.原子量 AtomicLong
原子量即操作变量的操作是“原子的”,该操作不可再分,因此是线程安全的。
9.障碍器 CyclicBarrier
CyclicBarrier cb = new CyclicBarrier(7, new MainTask());cb.await();
- Java线程-新特性
- Java多线程-新特性-线程池
- Java多线程-新特性-线程池
- JAVA5 线程新特性
- Java--jdk1.5新特性线程池用法
- Java多线程-新特性-有返回值的线程
- Java多线程-新特性-有返回值的线程
- Java多线程-新特性-有返回值的线程
- Java新特性:接口新特性
- JAVA EE5 新特性
- Java 7 新特性
- Java新特性
- Java 7 新特性
- Java 7 新特性
- Java 新特性
- Java 7 新特性
- JAVA新特性笔记
- java新特性
- python的排序函数sort,sorted在列表排序和字典排序中的应用详解和举例
- 向含有自增字段的mysql数据库插入数据的问题
- 欠 着
- Struts2中的校验框架
- 一个正整数约数的个数
- Java线程-新特性
- C++之vector iterator 和 bitset
- <Unity3D>Unity3D入门篇——第二讲 初步认识Unity
- javabean总结
- Extjs4中Form之时间选择器timefield
- 浅谈Java中数据在内存中的状态,以及String、StringBuffer、==、equals、数组等问题
- 风 景
- Android BaseAdapter详解(实现了SimpleAdapter,ListAdapter的接口)
- JMS消息类型模型[queue和topic的区别]