我正在使用JProfiler 对一个Restful Java 微服务进行仪器化, 同时用JMeter发送多个请求。我发现有很多线程被阻塞。该微服务使用Spring和SpringBoot。
当发送多个请求时,问题就出现了。
在JProfiler工具中,我可以看到:
在JProfiler工具中,我可以看到:
- 我阅读了Circular Deadlock, Dining philosophers后, 我认为这是一个环形死锁。这样对吗?
- 死锁和环形死锁之间有什么区别? 在互联网上浏览一下后,我看到另一个概念,循环等待。那么循环等待是什么?
- 如果您查看监视器历史记录和概述部分,您会看到许多被阻止的线程,还有一个线程等待其他线程完成。问题出在ReentrantLock.NonfairSync类上。 但是如果您查看线程转储,您会发现线程处于等待状态,并且在堆栈跟踪的顶部看到sun.misc.Unsafe.park。使用park和unpark方法实现了线程锁定。您知道这可能是什么吗?
- 再次出现com.fasterxml库的问题吗?jackson项目