我正在阅读 Java Concurrency in Practice 一书,这里是关于死锁的内容。
JVM不会从死锁中恢复,摆脱死锁的唯一方法是重新启动服务器。它还提到JVM使用图搜索,其中线程充当图节点,两个线程A和B之间的边被定义为线程A正在等待线程B已经持有的资源的锁定。这个图是有向的,如果有任何循环这个图,那么就有死锁
现在我的问题是,如果 JVM 知道存在死锁,那么它为什么不杀死一个线程并让其他线程继续执行呢?这背后是否有任何具体原因,或者我的问题本身是基于错误的结论?
请让我知道您对此的看法。提前致谢!!!