并发
文章平均质量分 68
并发相关内容
Linging_24
好记性不如烂笔头。交流v+:Ling-241
展开
-
基于ReentrantLock详解AQS源码
7.上述流程可以说是公平锁的抢占方式,每次都是队列头节点的下一个节点抢到锁,严格排队枪锁,如果是非公平锁,则在唤醒head的下一个节点进行抢锁时,其他线程也可以在此期间抢锁,如果被其他线程抢到锁,则head的下一个节点还是会重新挂起,然后新的抢占锁的线程会重新关联head节点。6.线程三释放锁,把AQS中的state设置为0,清空持有锁线程,队列中的节点还是存在一个头节点,这个节点的内容都是空的,只要头节点创建出来了就一直存在,持有锁的线程会关联头节点。原创 2023-12-12 23:49:40 · 1400 阅读 · 0 评论 -
ThreadLocal的详解
作用:实现线程上下文传递对象实现:为每个线程创建一个副本验证实现:public class Test { ThreadLocal<Long> threadLocal = new ThreadLocal<>(); public static void main(String[] args) throws InterruptedException { //一个任务,两个线程t1、t2 MyTask task = new T.原创 2020-11-15 19:54:05 · 373 阅读 · 2 评论 -
线程池详解
参考博客:https://blog.csdn.net/hnd978142833/article/details/80253784一、线程池简介线程池的概念:线程池就是提前创建好线程,将创建好的线程集中在一起就是线程池。线程池可以很好的提高系统的性能,线程池在系统启动时,会创建核心空闲线程,程序将一个任务提交给线程池,线程池就会启动一个线程来执行任务,执行完任务后,不会销毁,而是返还线程池中,重新置为空闲状态,等待下一次的任务执行。线程池的工作机制:2.1.在线程池的编程模式下,任务是提交给线.原创 2020-10-31 15:04:27 · 279 阅读 · 0 评论 -
多线程习题
三个线程t1、t2、t3。确保三个线程,t1执行完后t2执行,t2执行完后t3执行。三个线程t1、t2、t3。确保三个线程,t1,t2执行完,t3再执行。原创 2021-04-19 16:59:59 · 138 阅读 · 0 评论