多线程-安全再补充2019/08/16
synchronized(对象) 同步(锁)
{
共享数据运行的代码。
}
如何找问题:
1. 明确哪些代码是多线程运行代码。
2. 明确共享数据。
3. 明确多线程运行代码中哪些语句是操作共享数据的。
同步函数的锁是:this,P141
如果同步函数被静态修饰后,使用的锁是什么呢?
经过验证,不是this,毕竟this也不能在静态函数中定义
静态进内存时,内存中没有本类对象,但是一定有该类对应的字节码对象。
类名.class 该对象的类型是Class.
静态同步方法,使用的锁是该方法所在类的字节码文件对象。 类名.class
静态同步函数的锁是:Class对象 类名.class P142
作者:张小龙 一个不安定的程序猿