![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
移动开发,多线程
文章平均质量分 85
今天休息
这个作者很懒,什么都没留下…
展开
-
移动端并发编程基础篇-阻塞队列ArrayBlockingQueue&LinkedBlockingQueue
1.BlockingQueue和普通Queue的区别 BlockingQueue阻塞队列,多线程并发的上下文中,take,put,方法会发生阻塞状态 Queue 普通的Queue如果实现生产者,消费者的阻塞等待,需要自己实现Blocking状态2.ArrayBlockQueue&LinkedBlockQueue区别 ArrayBlockQueue 数组阻塞队列,指定一原创 2017-12-01 13:24:17 · 332 阅读 · 0 评论 -
BlockingDeque&BlockingQueue区别
1.BlockingQueue阻塞队列,FIFO一端进入队列,一端出队列 BlockingQueue,进出口单一明确2.BlockingDequeu 双端阻塞队列,两端都可以进入,也可以出队列 public interface BlockingDeque extends BlockingQueue, Deque 双端阻塞队列,继承了FIFO特性,又继承了双端队列特性原创 2017-12-04 11:10:55 · 3162 阅读 · 0 评论 -
基础数据机构之Stack栈源码分析
1.Stack属于经典的数据结构栈,后入先出。方法有pop弹栈,push压栈,isEmpty判断栈空,isFull判断栈满 java源码中stack继承vector基础数据结构,有多线程安全特性。public class Stack extends Vector { /** * Creates an empty Stack. */ publi原创 2017-12-21 09:28:57 · 191 阅读 · 0 评论 -
其他阻塞队列DelayQueue&PriorityBlockQueue延迟阻塞队列和优先级阻塞队列
1. DelayQueue延迟阻塞队列。 该队列主要作用是延迟添加元素,mQueue,put(Delay)2.DelayQueue实例 由于添加到DelayQueue的item延迟10s,所以调用take方法时候需要等待10秒才可以获取到,否则一直block阻塞状态。 DelayQueue mQueue = new DelayQueue();//添原创 2017-12-04 16:20:02 · 547 阅读 · 0 评论 -
基础数据机构之ArrayDeque队列源码分析
1.ArrayDeque双端队列,jdk中util包中无ArrayQueue的类实现,在com.sun.jmx.remote.internal中才有ArrayQueue队列的实现。 ArrayDeque双端队列方法有,队列头部插入addFirst,头部移除pollFirst,尾部插入addLast,尾部移除元素pollLast public class ArrayDeque e原创 2017-12-21 15:15:58 · 244 阅读 · 0 评论 -
移动端多线程编程高级篇-阻塞队列实现生产者消费者模式
1.生产者消费者模式非常经典的多线程编程 不借助阻塞队列写法 Vector v = new Vector(); @Override public void run() { while(isRunning){ synchronized (v) {//如果Queue为空,不断阻塞中 while(v.size()原创 2017-12-05 10:12:34 · 201 阅读 · 0 评论 -
移动端多线程编程高级篇-哲学家吃饭问题
1.哲学家就餐问题问题描述 2.源代码描述 volatile public List mLocks = new ArrayList();List mList = new ArrayList();private Object obj = new Object();public DemoPhil() {for(int i = 0;i mLocks原创 2017-12-05 11:54:01 · 337 阅读 · 0 评论