![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java高并发
文章平均质量分 93
zmt0104
这个作者很懒,什么都没留下…
展开
-
线程池是如何重复利用空闲的线程来执行任务的?
在Java开发中,经常需要创建线程去执行一些任务,实现起来也非常方便,但如果并发的线程数量很多,并且每个线程都是执行一个时间很短的任务就结束了,这样频繁创建线程就会大大降低系统的效率,因为频繁创建线程和销毁线程需要时间。此时,我们很自然会想到使用线程池来解决这个问题。 使用线程池的好处: 降低资源消耗。Java中所有的池化技术都有一个好处,就是通过复用池中的对象,降低系统资源消耗。设想一下如果我们有n多个子任务需要执行,如果我们为每个子任务都创建一个执行线程,而创建线程的过程是需要一定的系统消耗的,转载 2021-05-28 13:58:33 · 147 阅读 · 0 评论 -
java的CAS原理
CAS原理转载 2020-10-27 00:03:21 · 1110 阅读 · 1 评论 -
Java高并发之线程不安全
线程安全与不安全转载 2020-10-19 17:54:41 · 263 阅读 · 1 评论 -
Java高并发之上下文切换
线程的上下文切换转载 2020-10-19 13:54:16 · 745 阅读 · 1 评论 -
理解happens-before规则
理解happens-before规则转载 2020-10-14 18:27:06 · 231 阅读 · 0 评论 -
线程创建的几种方式
线程的创建方式转载 2020-10-13 00:38:34 · 893 阅读 · 0 评论 -
Java多线程之join()方法
join()方法详解转载 2020-10-12 13:58:26 · 171 阅读 · 0 评论 -
阻塞队列的底层原理
https://cloud.tencent.com/developer/article/1350854 (一)ArrayBlockingQueue介绍和实现原理分析 ArrayBlockingQueue是基于数组实现的有界的先进先出的阻塞队列,所以我们可以说队列的头部是队列中呆的时间最长的或者叫最早的,而队列的尾部则是刚刚呆的时间最短的,因为尾部的元素都是最新插入的。新来的元素都会被追加到队列...转载 2019-12-10 10:53:52 · 1966 阅读 · 0 评论 -
LinkedBlockingQueue和ArrayBlockingQueue的比较
https://blog.csdn.net/chang_ge/article/details/79974121 相同点 1、LinkedBlockingQueue和ArrayBlockingQueue都实现了BlockingQueue接口,继承了AbstractQueue抽象类。 LinkedBlockingQueue: ArrayBlockingQueue: 2、LinkedBloc...转载 2019-12-05 22:29:27 · 839 阅读 · 0 评论 -
阻塞队列
一、什么是阻塞队列 阻塞队列,可以理解成生产者消费者模式,是一个支持两个附加操作的队列。 当队列为满的时候,插入元素的线程被阻塞,直达队列不满。 当队列为空的时候,获取元素的线程被阻塞,直到队列不空。 生产者消费者模式: 生产者——生产数据的线程,消费者——消费数据的线程。 在多线程开发中,如果生产者处理速度很快,而消费者处理速度很慢,那么生产者就必须等待消费者处理完,才能继续生产...原创 2019-12-05 14:51:38 · 264 阅读 · 0 评论