java 并发包 多线程 工具类 笔记以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
JDK 线程池Executors newCachedThreadPool() //带缓存的 不够时自动添加Executors newSingleThreadExecutor() //单个线程池 线程死掉后自动创建Executors newFixedThreadPool( ) //创建容纳N个线程的Executors newScheduledThreadPool( ) //创建定时器线程池
executo() 无返回结果submit() 有返回结果的线程
Callable //可返还结果的线程
ExecutorService threadpol = Executors newSingleThreadExecutor() Future future = threadpol submit(new Callable(){ public String call(){ return aaaa } system out print(Future get()) )
Lock lock = new ReentrantLock() //lock 对象Condition condition = lock newCondition() // 条件 通讯对象condition await() //不是 object的 wait condition signal() //唤醒
try{ lock lock() ……
}finally{ lock unLock() }
ReentrantReadWriteLock rwl = ReentrantReadWriteLock() //文件锁rwl readLock() lock() rwl writeLock() lock()
条件等待尽量使用while(){
}
多线程关键字Executors newCachedThreadPool() //带缓存的 不够时自动添加Executors newSingleThreadExecutor() //单个线程池 死掉后再创建Executors newFixedThreadPool( ) //创建容纳N个线程的Executors newScheduledThreadPool( ) //创建定时器线程池Lock lock = new ReentrantLock() //lock 互斥锁 对象Condition condition = lock newCondition() // 条件 通讯对象Condition //条件锁Semaphore //信号量 类似执行授权 (最多有 个人可以走)
CyclicBarrier //类似集合点 (必须 个人同时到才能走)
CountDownLatch //计数器 计时器效果 某时间点同时执行 CountDownLath a = new CountDownLath( ) a await() untDown() Exchanger //数据交换 Exchanger a = new Exchanger()//放主线程 a exchange( asd ) lishixinzhi/Article/program/Java/hx/201311/26591
分页:123