:flag 为 true 时,线程1 synchronized(o1) 睡 500ms 就把 o1 的锁释放了,线程2 只需要等 500ms 就可以获得 o1 的锁了。同理,线程2 synchronized(o2) 睡 500ms 就把 o2 的锁释放了,线程1 只需要等 500ms 就可以获得 o2 的锁了。 要造成死锁,