- 博客(3)
- 收藏
- 关注
原创 Java 阻塞队列(BlockingQueue)
BlockingQueue(阻塞队列)是一个接口,继承自Queue。BlockingQueue阻塞的原因是其支持当队列没有元素时一直阻塞,直到有元素;还支持如果队列已满,一直等到队列可以放入新元素时再放入。
2023-11-09 16:18:53 39
原创 Java多线程-流水线
简单来说,流水线是将一个复杂庞大的任务拆解为若干个小而简单的任务并依次执行,并且把当前任务的输出值作为下一个任务的输入值,通过每个阶段相应的工作者线程去执行。通过java创建出来的流水线任务可以大幅提高任务的执行效率以及速度,并且可以缩短任务的执行时间。假如一个任务可以分成ABC三个流程来完成,A耗时1t,B耗时1t,C耗时1t,未拆解前,完成5个任务需要15t。拆解后如图,耗时变为8t,任务数量增加的情况下,耗时差距会更大。利用多个线程处理问题充分利用CPU,提高其计算效率。
2023-11-07 20:17:44 197
原创 Java多线程并发编程学习笔记(一)锁
因此为了解决这个问题,我们可能需要这样一个方案,当存在多个线程操作共享数据时,需要保证同一时刻有且只有一个线程在操作共享数据,其他线程必须等到该线程处理完数据后再进行,这种方式有个高尚的名称叫,即能达到互斥访问目的的锁,也就是说当一个共享数据被当前正在访问的线程加上互斥锁后,在同一个时刻,其他线程只能处于等待的状态,直到当前线程处理完毕释放该锁。
2023-11-07 13:55:50 59
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人