摘要: Java Technich Tipshttp://www.javaworld.comhttp://www.java-tips.org/http://www.oracle.com/technetwork/java/jdctechtips-142873.htmlhttp://www.dailyjavatips.com/Eclipse Tipshttp://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Ftips%2Fplatform_tips.htmlhttp://eclipsesource.co 阅读全文
posted @ 2013-03-14 13:41 bruceHuang 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 一个同步辅助类,在完成一组正在其他线程中执行的操作之前,它允许一个或多个线程一直等待。用给定的计数 初始化 CountDownLatch。由于调用了 countDown() 方法,所以在当前计数到达零之前,await 方法会一直受阻塞。之后,会释放所有等待的线程,await 的所有后续调用都将立即返回。这种现象只出现一次——计数无法被重置。如果需要重置计数,请考虑使用 CyclicBarrier。CountDownLatch 是一个通用同步工具,它有很多用途。将计数 1 初始化的 CountDownLatch 用作一个简单的开/关锁存器,或入口:在通过调用 countDown() 的线程打开入 阅读全文
posted @ 2013-03-14 11:39 bruceHuang 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 一个同步辅助类,它允许一组线程互相等待,直到到达某个公共屏障点 (common barrier point)。在涉及一组固定大小的线程的程序中,这些线程必须不时地互相等待,此时 CyclicBarrier 很有用。因为该 barrier 在释放等待线程后可以重用,所以称它为循环的 barrier。CyclicBarrier 支持一个可选的 Runnable 命令,在一组线程中的最后一个线程到达之后(但在释放所有线程之前),该命令只在每个屏障点运行一次。若在继续所有参与线程之前更新共享状态,此屏障操作 很有用。 在实际应用中,有时候需要多个线程同时工作以完成同一件事情,而且在完成过程中,往往会等 阅读全文
posted @ 2013-03-14 10:57 bruceHuang 阅读(270) 评论(0) 推荐(0) 编辑
摘要: Semaphore当前在多线程环境下被扩放使用,操作系统的信号量是个很重要的概念,在进程控制方面都有应用。Java 并发库 的Semaphore 可以很轻松完成信号量控制,Semaphore可以控制某个资源可被同时访问的个数,通过acquire()获取一个许可,如果没有就等待,而 release()释放一个许可。比如在Windows下可以设置共享文件的最大客户端访问个数。Semaphore实现的功能就类似厕所有5个坑,假如有10个人要上厕所,那么同时只能有多少个人去上厕所呢?同时只能有5个人能够占用,当5个 人中 的任何一个人让开后,其中等待的另外5个人中又有一个人可以占用了。另外等待的5个人 阅读全文
posted @ 2013-03-14 10:54 bruceHuang 阅读(408) 评论(0) 推荐(0) 编辑