1. “非线程安全”问题存在于“实例变量”中,如果是方法内部的私有变量,则不存在线程安全问题。这是因为方法内部的变量都是私有造成的。

  2. synchronized 获取的都是对象锁。如果多个线程访问多个对象,则JVM会创建多个锁。

  3. A线程持有object 对象的的Lock锁,B线程可以异步调用A线程非同步方法。A线程持有object 对象的的Lock锁,B线程如果在这个时调用object对象中的synchronized类型的方法则需要等待。

03-22 09:38