多线程并发库高级应用
light_sky
热爱Android,热爱开源,GitHub:https://github.com/lightSky,微博:http://weibo.com/lightSkyStreet
展开
-
多线程并发库高级应用 之 使用java5中同步技术的3个面试题
第一题: 现有的程序代码模拟产生了16个日志对象,并且需要运行16秒才能打印完这些日志,请在程序中增加4个线程去调用parseLog()方法来分头打印 这16个日志对象,程序只需要运行4秒即可打印完这些日志对象。原始代码:public class Test { public static void main(String[] args){原创 2012-12-11 21:21:10 · 1761 阅读 · 0 评论 -
多线程并发库高级应用 之 其它同步工具类
笔记摘要: 这里主要介绍了java5中线程锁技术以外的其他同步工具,首先介绍semaphore:一个计数信号量。用于控制同时访问资源的线程个数, CyclicBarrier同步辅助类:从字面意思看是路障,这里用于线程之间的相互等待,到达某点后,继续向下执行,CountDownLatch同步辅 助类:在完成原创 2012-12-11 20:42:40 · 1044 阅读 · 0 评论 -
多线程并发库高级应用 之 java5中的线程并发库--线程锁技术
笔记摘要: 这里介绍了java5中的线程锁技术:Lock和Condition,实现线程间的通信,其中的读锁和写锁的使用通过一个缓存系统进行了演示,对于Condition的应用通过 一个阻塞队列进行演示。线程锁技术:Lock & Condition 实现线程同步通信 所属包:java.util.concurrent.loc原创 2013-02-01 09:42:39 · 1174 阅读 · 0 评论 -
多线程并发库高级应用 之 java5中的线程并发库--线程池、Callable&Future
笔记摘要: 这里首先介绍了java5中的并发的小工具包:automatic,然后介绍了线程池的概念,对使用java5的方式创建不同形式的线程进行了演示, 之后介绍了两个 对象:Callable和Future,用于获取线程执行后的结果,对于线程锁技术则在另外一篇文章中介绍。Java5中的线程并发库都在java.util.c原创 2012-12-11 19:56:29 · 1278 阅读 · 0 评论 -
多线程并发库高级应用 之 多个线程之间共享数据的方式探讨
笔记摘要: 多个线程之间共享数据,按照每个线程执行代码是否相同,我们可以采取不同的处理方式,这里通过简单的卖票示例说明了当每个线程执行相同代码的情况, 对于多个线程执行不同代码的情况,处理方式比较灵活,这里主要介绍了2种方式,通过2种方式的对比和归纳,我们可以总结出在多个线程执行不同的代码 情况下,如何进行代码的设计。原创 2012-12-05 13:08:54 · 1766 阅读 · 0 评论 -
多线程并发库高级应用 之 线程范围内共享数据
笔记摘要: 所谓线程范围内共享数据,即对于相同的程序代码,多个模块在同一个线程中运行时要共享一份数据,而在另外线程中运行时又共享另外一份数据, API中为我们提供了一个操作线程范围内共享数据的类ThreadLocal,对于线程范围内共享数据的应用,在ThreadLocal的应用场景中进行了介绍,然后 主要对它的原创 2012-12-05 01:21:30 · 1623 阅读 · 0 评论 -
多线程并发库高级应用 之 传统定时器、互斥、同步通信技术
笔记摘要: 这里分析了多线程的一些细节问题,并介绍了传统定时器的创建,同时实现了根据自己的调度计划的自定义定时器,对于传统互斥技术中发现的内部类问题, 进行了分析,最后对于同步通信技术,是重点,分析了如何处理类似的问题,如何设计能够更加清晰简单,体现了高内聚和程序的健壮性一、多线程的几个知识点1、为何使用原创 2012-12-05 00:04:38 · 1559 阅读 · 0 评论