上一页 1 ··· 4 5 6 7 8 9 下一页
摘要: 为了更好的控制多线程,JDK提供了一套线程框架Executor,帮助开发人员有效地进行线程控制。他们都在java.util.concurrent包中,是JDK并发包的核心。其中有一个比较重要的类:Executors,他扮演着线程工厂的角色,我们通过Executors可以创建特定功能的线程池。 Exe 阅读全文
posted @ 2017-02-23 13:35 小~虎 阅读(123) 评论(0) 推荐(0)
摘要: 生产者和消费者也是一个非常经典的多线程模式,我们在实际开发中应用非常广泛的思想理念。在生产-消费模式中:通常由两类线程,即若干个生产者的线程和若干个消费者的线程。生产者线程负责提交用户请求,消费者线程则负责具体处理生产者提交的任务,在生产者和消费者之间通过共享内存缓存区进行通信。 下面看一个demo 阅读全文
posted @ 2017-02-22 19:23 小~虎 阅读(165) 评论(0) 推荐(0)
摘要: Master-Worker模式是常用的并行计算模式。它的核心思想是系统由两类进程协作工作:Master进程和woker进程。Master负责接收和分配任务,Worker负责处理子任务。当各个Worker子进程处理完成后,会将结果返回给Master,由Master做归纳和总结。其好处是能够将一个大任务 阅读全文
posted @ 2017-02-20 10:53 小~虎 阅读(169) 评论(0) 推荐(0)
摘要: Future 模式有点类似于商品订单。比如在网购物时,当看重某一件商品时,就可以提交订单,当订单处理完成后,在家里等待商品送货上门即可。或者说更形象的我们发送Ajax请求的时候,页面是异步的进行后台处理,用户无须一直等待请求的结果,可以继续浏览活操作其他内容。 下面同样看一段demo,这段demo的 阅读全文
posted @ 2017-02-18 15:33 小~虎 阅读(120) 评论(0) 推荐(0)
摘要: 在并发队列上JDK提供了两套实现,一个是以ConcurrentLinkedQueue为代表的高性能队列,一个是以BlockingQueue接口为代表的阻塞队列,无论哪种都继承自Queue, 可以对应着下面的图看一下: 先介绍一下ConcurrentLinkedQueue: ConcurrentLin 阅读全文
posted @ 2017-02-17 15:00 小~虎 阅读(236) 评论(0) 推荐(0)
摘要: ConcurrentMap接口下有两个重要的实现: ConcurrentHashMap ConcurrentSkipListMap(支持并发排序功能,弥补ConcurrentHashMap) ConcurrentHashMap内部使用段(Segment)来表示这些不同的部分,每个段其实就是一个小的H 阅读全文
posted @ 2017-02-16 10:40 小~虎 阅读(540) 评论(0) 推荐(0)
摘要: 同步类容器: 同步类容器都是线程安全的, 但在某些场景下可能需要加锁来保护复合操作。符合类操作如:迭代(反复访问元素,遍历完容器中所有的元素)、跳转(根据指定的顺序找到当前元素的下一个元素)、以及条件运算。这些复合操作在多线程并发地修改容器时,可能会表现出意外的行为,最经典的便是Concurrent 阅读全文
posted @ 2017-02-15 10:06 小~虎 阅读(197) 评论(0) 推荐(0)
摘要: 单例模式,最常见的就是饥饿模式,和懒汉模式,一个直接实例化对象,一个在调用方法时进行实例化对象。在多线程模式中,考虑到性能和线程安全问题,我们一般选择下面两种比较经典的单例模式,在性能提高的同时,又保证了线程安全。 dubble check Instance 》》 static Inner clas 阅读全文
posted @ 2017-02-15 09:29 小~虎 阅读(209) 评论(0) 推荐(0)
摘要: ThreadLocal概念:线程局部变量,是一种多线程间并发访问变量的解决方案。与其synchronized等加锁的方式不同,ThreadLocal完全不提供锁,而使用以空间换时间的手段,为每个线程提供变量的独立副本,以保障线程安全。 从性能上说,ThreadLocal不具有绝对的优势,在并发不是很 阅读全文
posted @ 2017-02-14 16:46 小~虎 阅读(256) 评论(0) 推荐(0)
摘要: BlockingQueue:顾名思义,首先它是一个队列,并且支持阻塞的机制,阻塞的放入和得到数据。我们要实现LinkedBlockingQueue下面两个简单的方法put和take。 put(anObject):把anObject加到BlockingQueue里,如果blockQueue没有空间,则 阅读全文
posted @ 2017-02-14 15:27 小~虎 阅读(205) 评论(0) 推荐(0)
上一页 1 ··· 4 5 6 7 8 9 下一页