最新 最热

Java并发队列原理剖析

LinkedBlockingQueue和ArrayBlockingQueue比较简单,不进行讲解了。下面只介绍PriorityBlockingQueue和DelayQueue。

2022-10-27
1

你真的了解Java中的线程池吗

Java中的线程池,相信大家都接触过或者使用过,它里面到底是怎么运作的,不知道大家有没有去实际了解过?这篇文章将带领大家去看看它内部结构和实现原理。...

2022-10-27
0

Juc并发编程08——Condition实现源码分析

我们知道,当一个线程调用await方法时,会进入等待状态,直到被其它线程使用signal方法唤醒。这里的等待队列就是用来存储处于await等待状态的线程的。...

2022-10-26
0

Juc并发编程07——公平锁真的公平吗(源码剖析)

重点关注注释代码处,如果hasQueuedPredecessors出现误判会怎么样呢?公平锁是不是就不公平了呀。那我们来研究下hasQueuedPredecessors,是不是真有百密一疏的情况。...

2022-10-26
0

Juc并发编程04——可重入锁、公平锁与非公平锁

之前我们一直使用的Lock实例都用的是ReentrantLock,实际上,这是一种可重入锁。简单来说,就是对同一个线程可以进行多次的加锁操作。

2022-10-26
1

14. 多线程案例(2)——阻塞队列

生产者消费者模型 生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消...

2022-10-26
1

队列的几种变化和不同种类

1.普通队列:先进先出。 2.带优先级的:(优先队列:本质上是二叉树)按照顺序进,出队列的时候出优先级最高的元素,如果优先级相同,再按照先进先出的方式。 3.带类型的:业务上的类型,与具体场景密切相关,入队列按照原来的顺序入,出队列...

2022-10-26
1

使用队列实现栈的下列操作: push(x) -- 元素 x 入栈 pop() -- 移除栈顶元素 top() -- 获取栈顶元素 empty() -- 返回栈是否为空

创建两个队列A和B,先将元素入A队列,元素入队列后,再依次出队列到B中,直到A中的元素剩下最后一个的时候,再将这个元素出队列,就可以完成栈中的后进先出的过程...

2022-10-26
0

队列的两种实现方法

队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出

2022-10-26
1

LeetCode23. 合并K个升序链表

思路:优先队列//给你一个链表数组,每个链表都已经按升序排列。//// 请你将所有链表合并到一个升序链表中,返回合并后的链表。//////// 示例 1://// 输入:lists = [[1,4,5],[1,3,4],[2,6]]//输出:[1,1,2,3,4,4,5,6]//解释:链...

2022-10-25
0