java是检查谁在使用线程的好方法。interrupted()和不抛出InterruptedException?
我有一个大线程,我需要使中断。这个线程使用第三方代码,我无法访问它们的源代码。在所有这些代码的某个地方,似乎有人在调用Thread.interrupted()
而没有抛出异常。我需要一个好方法来确定谁在做这件事
我尝试在Thread.interrupted()
设置断点,但是NetBean的条件断点工作得不好。即使条件不等于true,它们也会在随机线程中停止。这是我的断点条件:
currentThread().getName().contains("Name of my Thread") == true && currentThread().isInterrupted(false) == true
。。。然而,即使这些条件中没有一个得到满足,调试器也会在断点处停止。我猜它会因为currentThread()
的调用而变得混乱
额外信息:
- 我用的是Java 8
- 我正在使用ApacheNetbeans11.1李>
- 我用的是弹簧靴李>
- 我的应用程序正在Tomcat服务器上运行李>
- 我使用的第三方代码是Stimulsoft Reports库李>
- 我正在使用
ThreadPoolTaskExecutor
来启动线程李> - 我正在使用
Future.cancel(true)
向线程发送中断信号李>
共 (0) 个答案