摘要:Semaphore也是一个同步器,和前面两篇说的CountDownLatch和CyclicBarrier不同,这是递增的,初始化的时候可以指定一个值,但是不需要知道需要同步的线程个数,只需要在同步的地方调用acquire方法时指定需要同步的线程个数; 一.简单使用 同步两个子线程,只有其中两个子线程 阅读全文
posted @ 2020-02-18 12:04 java小新人 阅读 (9) 评论 (0) 编辑
摘要:上一篇说的CountDownLatch是一个计数器,类似线程的join方法,但是有一个缺陷,就是当计数器的值到达0之后,再调用CountDownLatch的await和countDown方法就会立刻返回,就没有作用了,那么反正是一个计数器,为什么不能重复使用呢?于是就出现了这篇说的CyclicBar 阅读全文
posted @ 2020-02-17 13:22 java小新人 阅读 (7) 评论 (0) 编辑
摘要:Java程序有的时候在主线程中会创建多个线程去执行任务,然后在主线程执行完毕之前,把所有线程的任务进行汇总,以前可以用线程的join方法,但是这个方法不够灵活,我们可以使用CountDownLatch类,实现更优雅,而且使用线程池的话,可没有办法调用线程的join方法的呀! 一.简单使用CountD 阅读全文
posted @ 2020-02-16 13:00 java小新人 阅读 (9) 评论 (0) 编辑
摘要:线程池的作用就不多说了,其实就是解决两类问题:一是当执行大量的异步任务时线程池能够提供较好的性能,在不使用线程池时,每当需要执行异步任务是需要直接new一个线程去执行,而线程的创建和销毁是需要花销的,而线程池中的线程是可复用的,不需要每次执行异步任务时都去创建和销毁线程;二是线程池提供了一种资源限制 阅读全文
posted @ 2020-02-15 21:00 java小新人 阅读 (63) 评论 (0) 编辑
摘要:一直在看java并发的感觉说的有点多,就看点简单的放松一下吧!这次来简单说一下jdk8,很久没用,都陌生了,仔细看看还挺有意思的,让我们大脑转化一个角度来写代码;因为我们现在平常大部分用jdk7写代码,我们都是在想着这一步怎么做,下一步怎么做;而jdk8只需要知道这一步做什么,下一步做什么,思维的转 阅读全文
posted @ 2020-02-12 02:16 java小新人 阅读 (40) 评论 (0) 编辑
摘要:已经说了四个并发队列了,DelayQueue这是最后一个,这是一个无界阻塞延迟队列,底层基于前面说过的PriorityBlockingQueue实现的 ,队列中每个元素都有过期时间,当从队列获取元素时,只有过期元素才会出队列,而队列头部的元素是过期最快的元素; 一.简单使用 可以看到我们可以自己设置 阅读全文
posted @ 2020-02-11 16:26 java小新人 阅读 (24) 评论 (0) 编辑
摘要:这一篇说一下PriorityBlockingQueue,引用书中的一句话:这就是带优先级的无界阻塞队列,每次出队都返回优先级最高或者最低的元素(这里规则可以自己制定),内部是使用平衡二叉树实现的,遍历不保证有序; 其实也比较容易,就是基于数组实现的一个平衡二叉树,不了解平衡二叉树的可以先了解一下,别 阅读全文
posted @ 2020-02-10 15:43 java小新人 阅读 (141) 评论 (0) 编辑
摘要:上一篇我们说了并发队列中的LinkedBlockingQueue队列,这次我们看看ArrayBlockingQueue,看看名字,我们想象一下LinkedList和ArrayList的区别,我们可以知道ArrayBlockingQueue底层肯定是基于数组实现的,这是一个有界数组; ArrayBlo 阅读全文
posted @ 2020-02-09 15:34 java小新人 阅读 (16) 评论 (0) 编辑
摘要:上一篇我们看了一下这个队列ConcurrentLinkedQueue,那就是一个无界非阻塞链表,我们这次来看看LinkedBlockingQueue,这个队列看名字就知道是一个阻塞式队列(也就是一个单向链表),基于独占锁实现的,比较简单; 一.LinkedBlockingQueue基本结构 内部也是 阅读全文
posted @ 2020-02-08 21:51 java小新人 阅读 (125) 评论 (0) 编辑
摘要:本来想着直接说线程池的,不过在说线程池之前,我们必须要知道并发安全队列;因为一般情况下线程池中的线程数量是一定的,肯定不会超过某个阈值,那么当任务太多了的时候,我们必须把多余的任务保存到并发安全队列中,当线程池中的线程空闲下来了,就会到并发安全队列中拿任务; 那么什么是并发安全队列呢?其实可以简单看 阅读全文
posted @ 2020-02-07 23:16 java小新人 阅读 (157) 评论 (0) 编辑
Live2D!把可爱的看板娘扑捉到你的博客去吧!
隐藏