java.util.concurrent 多线程框架---线程池编程(四)
java.util.concurrent 结构 Sync : 获得 / 释放 (acquire/release) 协议。同步(定制锁、资源管理、其他同步) Channel : 放置 / 取走 (put/take) 协议。通信( 缓冲 和 队列 服务) Executor : 执行 Runnable 任务。线程池执行器(线程池的实现一些实现了Executor接口的) Sync -- acquire/release 协议的主要接口 - 用来定制锁,资源管理,其他的同步用途 - 高层抽象接口 - 没有区分不同的加锁用法 -- 实现 - Mutex, ReentrantLock, Latch, CountDown,Semaphore, WaiterPreferenceSemaphore, FIFOSemaphore, PrioritySemaphore n 还有,有几个简单的实现,例如 ObservableSync, LayeredSync 独占锁 try { lock.acquire(); try { action(); } finally { lock.release(); } } catch (InterruptedException ie) { ... } -- Java 同步块不适用的时候使用它 - 超时,回退 (back-off) - 确保可中断 - 大量迅速锁定 - 创建