关键字synchronized 可以修饰方法或者以同步块的形式来进行使用, 它主要确保多个线
程在同一个时刻, 只能有一个线程处于方法或者同步块中, 它保证了线程对变量
访问的可见性和排他性, 又称为内置锁机制
对象锁和类锁:
对象锁是用于对象实例方法, 或者一个对象实例上的, 类锁是用于类的静态
方法或者一个类的 class 对象上的。 我们知道, 类的对象实例可以有很多个, 但
是每个类只有一个 class 对象, 所以不同对象实例的对象锁是互不干扰的, 但是
每个类只有一个类锁。
但是有一点必须注意的是, 其实类锁只是一个概念上的东西, 并不是真实存
在的, 类锁其实锁的是每个类的对应的 class 对象。 类锁和对象锁之间也是互不
干扰的。
synchronized 内置锁
最新推荐文章于 2024-07-14 22:18:32 发布