- 博客(3)
- 收藏
- 关注
原创 锁保存在什么位置
synchronized可以修饰类、方法(包括静态方法)、代码块。修饰类和静态方法时,锁的对象是Class对象;修饰普通方法时,锁的是调用该方法的对象;修饰代码块时,锁的是方法块括号里的对象。Lock也是基于AQS实现的,所以详情看AQS实现原理。AQS是juc包的作者为了便于使用者实现锁而构建的一套锁实现框架,AQS是基于模板方法实现的。具体见AQS实现原理。简单地说synchronized锁存在对象头中。低层的话是通过AQS实现的。后续会更进一步完善此内容。
2023-11-10 10:52:25 148
转载 call线程起名字_使用ThreadPoolExecutor,如何获取线程池中运行的线程的名称?
如何在调用线程.getCurrentThread().getName()不返回顶级线程池的名称,而是返回线程当前正在运行的可调用/可运行线程的名称。
2022-07-20 22:39:39 1836
转载 Java 中 synchronized的用法详解(四种用法)
Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。本文给大家介绍java中 synchronized的用法,对本文感兴趣的朋友一起看看吧Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码。1.方法声明时使用,放在范围操作符(public等)之后,返回类型声明(void等)之前.这时,线程获得的是成员锁,即一次只能有一个线程进入该方法,其他线程要想在此时调用该方法,只能排队等候,当
2021-08-23 12:16:30 3415
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人