摘要: 同步器是一些使线程能够等待另一个线程的对象, 以允许他们协调工作.同步器的种类 CountDownLatch, Semaphore, CyclicBarrier and Exchanger.CountDownLatch倒计数同步器是一个一次性障碍, 允许一个或多个线程等待一个或多个其它线程做完某件事情.调用CountDownLatch(int number)构造器初始化计数.在等待线程上调用CountDownLatch.await()以阻塞线程.在工作线程上调用CountDownLatch.countDown()以减少计数, 当计数为0时激活其它所有等待线程.在实际工作中根据业务逻辑的复杂度, 阅读全文
posted @ 2013-12-31 18:07 D.Wang 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 在1.5之后的java版本中使用ScheduledExecutorService替代了老旧的Timer.ScheduledExecutorService的实现类是ScheduledThreadPoolExecutor, 一个具备Schedule task功能的ThreadPoolExecutor.ScheduledExecutorService.submit(..) execute(..) invokeAll(..) 等方法与ExecutorService完全相同.ScheduledExecutorService.schedule(Callable callable, long delay, 阅读全文
posted @ 2013-12-31 17:05 D.Wang 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 在遍历Java容器(ArrayList, LinkedList, HashSet, TreeSet, HashMap, HashTable)过程中不允许向该容器中Add/Remove元素, 否则会抛出ConcurrentModificationException但在Java 1.5版本以来, Java类库就提供了一个并发集合(Concurrent collection) CopyOnWriteArrayList, CopyOnWriteArraySet, ConcurrentHashMap, 这是专门为解决死锁和ConcurrentModificationException问题的. 通过使用并 阅读全文
posted @ 2013-12-31 11:13 D.Wang 阅读(271) 评论(0) 推荐(0) 编辑