与定位同步关键字无关。由于您锁定了另一个对象并尝试等待另一个对象,因此您面临问题。好吧,@ Gray已经对此进行了解释,因此不再重复。
对于您的另一个问题,关于为什么两个线程都被阻塞;
线程A:锁定此[A:可运行]
线程A:锁定[A:可运行]
线程B:正在等待[A:可运行,B:已阻止]
线程A:释放该线程(表示等待)[A:定时等待,B:已阻止]
线程B:锁定此线程[A:定时等待,B:可运行]
线程B:等待已被线程A锁定的线程[A:定时等待,B:已阻止]
线程A:等待被线程B锁定的线程[A:已阻止,B:已阻止]