缺陷111111111
同步11111111
缺陷
效率低
锁的释放场景少:正常执行完毕、异常抛出。
试图获取锁时不能设定超时,只能一直等。
不能中断一个正在试图获得锁的线程。
不够灵活
加锁放锁的时机的单一,相比之下读写锁更灵活。
无法知道结果
获取锁成功没?
synchronized的缺陷:效率低、不够灵活、不知道是否成功获取了锁