Found one Java-level deadlock: ============================= "哲学家B": waiting to lock monitor 0x000000000ae4f488 (object 0x00000000db0a48a0, a java.lang.Object), which is held by "哲学家A" "哲学家A": waiting to lock monitor 0x000000000ae4c9e8 (object 0x00000000db0a48b0, a java.lang.Object), which is held by "哲学家B"
Java stack information for the threads listed above: =================================================== "哲学家B": at test.run(test.java:46) - waiting to lock <0x00000000db0a48a0> (a java.lang.Object) - locked <0x00000000db0a48b0> (a java.lang.Object) "哲学家A": at test.run(test.java:34) - waiting to lock <0x00000000db0a48b0> (a java.lang.Object) - locked <0x00000000db0a48a0> (a java.lang.Object)