1.当一个线程执行的代码出现异常时,其所持有的的锁会自动释放
2.同步不具有继承性
3.同步synchronized(this)代码块是锁定当前对象的
4.非This对象具有的优点:如果在一个类中有多个synchronized方法,这时虽然
能实现同步,但会受到阻塞,所以会影响运行效率,但如果使用同步代码块锁非this对象,则
synchronized(非this)代码块中的程序与同步方法是异步的,不予this同步方法争夺this锁,则可以大大提高运行效率。
5.synchronized关键字加在static静态方法上是给class类上锁,而synchronized关键字加在
非static方法上是给对象加锁,不是同一个锁
转载于:https://blog.51cto.com/matengbing/1875218