推荐链接:
总结——》【Java】
总结——》【Mysql】
总结——》【Redis】
总结——》【Kafka】
总结——》【Spring】
总结——》【SpringBoot】
总结——》【MyBatis、MyBatis-Plus】
总结——》【Linux】
总结——》【MongoDB】
总结——》【Elasticsearch】
synchronized是
互斥锁
,锁是基于对象
实现的,每个线程基于synchronized绑定的对象去获取锁!
有明确指定锁对象:
文章来源:https://www.toymoban.com/news/detail-709320.html
- synchronized(变量名):当前变量做为锁
- synchroinzed(this):this做为锁
无明确指定锁对象
:同步方法
和同步代码块
文章来源地址https://www.toymoban.com/news/detail-709320.html
- 有static修饰:当前
类.class
做为锁(类锁
) - 无static修饰:当前
对象
做为锁(对象锁
)
public class MiTest {
public static void main(String[] args) {
// 锁的是当前Test.class
Test.a();
Test test = new Test();
// 锁的是new出来的test对象
test.b();
}
}
class Test{
public static synchronized void a(){
System.out.println("1111");
}
public synchronized void b(){
System.out.println("2222");
}
}
到了这里,关于Java——》synchronized的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!