synchronized(this) 与synchronized(class) 之间的区别
在 Java 中,每个对象都会有一个 monitor 对象,这个对象其实就是 Java 对象的锁,通常会被称为“内置锁”或“对象锁”。类的对象可以有多个,所以每个对象有其独立的对象锁,互不干扰。在 Java 中,针对每个类也有一个锁,可以称为“类锁”,类锁实际上是通过对象锁实现的,即类的 Class 对象锁。synchronized 是 Java 中的关键字,是利用锁的机制来实现同步的。可以发现线程1,2同时结束,3,4有先后,原因是3,4同属于一个实例。可以发现,采用类锁一次只能通过一个。
转载
2024-12-26 22:05:41 ·
140 阅读 ·
0 评论