@synchronized(self) 锁的是什么

锁的是对象内存地址,必须保证传入同一个对象,执行的代码才会产生互斥同步的效果

synchronized中传入的object的内存地址,被用作key,通过hash map对应的一个系统维护的递归锁。

以上就是object的用处,所以不管是传入什么类型的object,只要是有内存地址,就能启动同步代码块的效果


参考资料:https://www.jianshu.com/p/2dc347464188

你可能感兴趣的:(@synchronized(self) 锁的是什么)