码迷,mamicode.com
首页 >  
搜索关键字:阻塞队列    ( 543个结果
Java并发框架——AQS阻塞队列管理(三)——CLH锁改造
在CLH锁核心思想的影响下,Java并发包的基础框架AQS以CLH锁作为基础而设计,其中主要是考虑到CLH锁更容易实现取消与超时功能。比起原来的CLH锁已经做了很大的改造,主要从两方面进行了改造:节点的结构与节点等待机制。在结构上引入了头结点和尾节点,他们分别指向队列的头和尾,尝试获取锁、入队列、释放锁等实现都与头尾节点相关,并且每个节点都引入前驱节点和后后续节点的引用;在等待机制上由原来的自旋改...
分类:编程语言   时间:2014-12-26 23:02:18    阅读次数:370
spring线程池ThreadPoolTaskExecutor与阻塞队列BlockingQueue
一: ThreadPoolTaskExecutor是一个spring的线程池技术,查看代码可以看到这样一个字段: private ThreadPoolExecutor threadPoolExecutor; 可以发现,spring的 ThreadPoolTaskExecutor是使用的jd...
分类:编程语言   时间:2014-12-26 16:29:08    阅读次数:11796
Java并发框架——AQS阻塞队列管理(二)
看Craig, Landin, and Hagersten发明的CLH锁如何优化同步带来的花销,其核心思想是:通过一定手段将所有线程对某一共享变量轮询竞争转化为一个线程队列且队列中的线程各自轮询自己的本地变量。这个转化过程由两个要点,一是构建怎样的队列&如何构建队列,为了保证公平性,构建的将是一个FIFO队列,构建的时候主要通过移动尾部节点tail实现队列的排队,每个想获取锁的线程创建一个新节点并...
分类:编程语言   时间:2014-12-21 22:11:38    阅读次数:470
Java并发框架——AQS阻塞队列管理(一)
我们知道一个线程在尝试获取锁失败后将被阻塞并加入等待队列中,它是一个怎样的队列?又是如何管理此队列?这节聊聊CHL Node FIFO队列。  在谈到CHL Node FIFO队列之前,我们先分析这种队列的几个要素。首先要了解的是自旋锁,所谓自旋锁即是某一线程去尝试获取某个锁时,如果该锁已经被其他线程占用的话,此线程将不断循环检查该锁是否被释放,而不是让此线程挂起或睡眠。它属于为了保证共享资源而...
分类:编程语言   时间:2014-12-20 23:33:23    阅读次数:572
简单的生产消费者模型
案例场景:httpclient4.3.5抓取网页,用自带的线程池进行多线程测试。httpclient4.3.5简单介绍:对于同一主机的请求,会保存路由信息,下次的请求会根据保存的路由走,减少了查找主机的时间。类介绍:数据结构用的阻塞队列结构;监控线程、生产线程、消费线程代码如下:import jav...
分类:其他好文   时间:2014-12-18 18:25:26    阅读次数:189
Java 并发编程(四)常用同步工具类
同步工具类可以使任何一种对象,只要该对象可以根据自身的状态来协调控制线程的控制流。阻塞队列可以作为同步工具类,其他类型的同步工具类还包括:信号量(Semaphore)、栅栏(Barrier)以及闭锁(Latch)。...
分类:编程语言   时间:2014-12-07 19:10:30    阅读次数:241
Java 并发编程(四)阻塞队列和生产者-消费者模式
阻塞队列提供了可阻塞的 put 和 take 方法,以及支持定时的 offer 和 poll 方法。如果队列已经满了,那么put方法将阻塞直到有空间可以用;如果队列为空,那么take方法将一直阻塞直到有元素可用。队列可以使有界的,也可以是无界的,无界队列永远都不会充满,因此无界队列上的put方法永远不会阻塞。一种常见的阻塞生产者-消费者模式就是线程池与工作队列的组合,在 Executor 任务执行框架中就体现了这种模式。 意义:该模式能简化开发过程,因为他消除了生产者和消费者类之间的代码依赖性,此外,该模式...
分类:编程语言   时间:2014-12-06 21:37:31    阅读次数:341
深入浅出 Java Concurrency (25): 并发容器 part 10 双向并发阻塞队列 BlockingDeque[转]
这个小节介绍Queue的最后一个工具,也是最强大的一个工具。从名称上就可以看到此工具的特点:双向并发阻塞队列。所谓双向是指可以从队列的头和尾同时操作,并发只是线程安全的实现,阻塞允许在入队出队不满足条件时挂起线程,这里说的队列是指支持FIFO/FILO实现的链表。首先看下LinkedBlocking...
分类:编程语言   时间:2014-12-02 23:49:50    阅读次数:208
java 阻塞队列BlockingQueue
BlockingQueue ArrayBlockingQueue LinkedBlockingQueue....
分类:编程语言   时间:2014-11-30 16:52:34    阅读次数:199
并发编程 15—— 线程池 之 原理二
Java并发编程实践 目录并发编程 01—— ConcurrentHashMap并发编程 02—— 阻塞队列和生产者-消费者模式并发编程 03—— 闭锁CountDownLatch 与 栅栏CyclicBarrier并发编程 04—— Callable和Future并发编程 05—— Complet...
分类:编程语言   时间:2014-11-26 16:10:05    阅读次数:278
543条   上一页 1 ... 47 48 49 50 51 ... 55 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!