当我使用JMeter发送多个请求时,我正在使用JProfiler检测Restful Java微服务。我看到有很多被阻止的线程。微服务使用Spring,SpringBoot。 当发送多个请求时,会出现问题。
在JProfiler工具中,我可以看到:
谢谢
答案 0 :(得分:0)
在我读到:循环僵局,餐饮哲学家之后,我认为存在循环僵局。这是对的吗?
根据证据无法说出来。
死锁和循环死锁有什么区别?
我以前从未见过循环僵局这个词,但在那篇文章的背景下,"循环"似乎意味着有两个以上的线程死锁。在我看来,这并不是一个特别有用的区别。
在互联网上浏览了一下后,我看到了另一个概念,即循环等待。循环等待怎么样?
我在维基百科Deadlock页面中找到了这个词。在这种情况下,它指的是你有N个代理人(例如线程)A 1 到A N 并且:
的任何情况制作"圈"或者在依赖项中循环。请注意,N
可以小到2.(维基百科页面中对此进行了清楚解释。)
使用park和unpark方法实现了Thread Locks。你知道它会是什么吗?
这就是在JVM中实现锁和等待的方式。
可能是
com.fasterxml.jackson
库的问题吗?
这是可能的。您使用库的方式也可能存在问题。然而这是猜测。没有足够的证据表明您提供的信息存在什么问题。
我建议你停止寻找答案。相反,戴上你的思维帽,开始阅读代码和javadocs。
如果我猜测,那就是你有多个线程试图共享某种XML解析器对象,其中对象不是为了共享。