cool 😎 blog

??子标题


  • Home

  • Archives

  • Tags

  • About

JAVA并发(9)-ThreadPoolExecutor的讲解

Posted on 2021-07-09 | In programmer |
Words count in article 4481

若图片有问题,请点击此处查看

很久前(2020-10-23),就有想法学习线程池并输出博客,但是写着写着感觉看不懂了,就不了了之了。现在重拾起,重新写一下(学习一下)。

线程池的优点也是老生常谈的东西了

  1. 减少线程创建的开销(任务数大于线程数时)
  2. 统一管理一系列的线程(资源)
Read more »

JAVA并发(8)-并发队列PriotityQueue的分析

Posted on 2021-06-11 | In programmer |
Words count in article 2061

若图片有问题,请点击此处查看

本文讲PriorityBlockingQueue(优先阻塞队列)

1. 介绍

一个无界的具有优先级的阻塞队列,使用跟PriorityQueue相同的顺序规则,默认顺序是自然顺序(从小到大)。若传入的对象,不支持比较将报错( ClassCastException)。不允许null。 底层使用的是基于数组的平衡二叉树堆实现(它的优先级的实现)。 公共方法使用单锁ReetrantLock保证线程的安全性。

Read more »

JAVA并发(7)-并发队列ArrayBlockingQueue

Posted on 2021-06-10 | In programmer |
Words count in article 1696

若图片有问题,请点击此处查看

本文讲ArrayBlockingQueue

1. 介绍

一个基于数组的有界阻塞队列,FIFO顺序。支持等待消费者和生产者线程的可选公平策略(默认是非公平的)。公平的话通常会降低吞吐量,但是可以减少可变性并避免之前被阻塞的线程饥饿。

Read more »

JAVA并发(6)-并发队列LinkedBlockingQueue的分析

Posted on 2021-06-09 | In programmer |
Words count in article 1941

若图片有问题,请点击此处查看

本文介绍LinkedBlockingQueue,这个队列在线程池中常用到。(请结合源码,看本文)

1. 介绍

LinkedBlockingQueue, 不支持null,基于单向链表的可选有界阻塞队列。队列的顺序是FIFO。基于链表的队列通常比基于数组的队列有更高的吞吐量, 但在大多数的并发应用中具有更低的可预测性能较差(这句话,在最后解释一下) 如果不选择队列的容量,默认值是Integer.MAX_VALUE,为了防止队列的过度扩张. 还实现了Collection接口与Iterator接口中所有的可选方法。

Read more »

IDEA debug ConcurrentLinkedQueue时抽风

Posted on 2021-06-06 | In programmer |
Words count in article 1171

若图片有问题,请点击此处查看

1. 介绍

如标题所见,我在使用IDEA debug ConcurrentLinkedQueue的Offer方法时,发生了下面的情况。

代码如下:

1
2
3
        ConcurrentLinkedQueue<string> queue = new ConcurrentLinkedQueue<>();
        queue.offer("A");
        queue.offer("B");
Read more »
1 2 … 6
ukyu

ukyu

纵浪大化中,不喜亦不惧

28 posts
2 categories
18 tags
Email Twitter
值得一看的博客
  • 小米信息部技术团队
  • 美团技术团队
  • Martin Fowler
  • 左子祯(设计师)
  • 雷军的博客
© 2020 - 2025 ukyu