java线程的stop方法,运行有时候正常运行到结束,有时候就是下面描述内容,eclipse实例就终止了。望指点迷津

JDWP exit error AGENT_ERROR_INVALID_EVENT_TYPE(204): ExceptionOccurred [e:\jenkins\tmp\workspace\build\src\src\jdk.jdwp.agent\share\native\libjdwp\eventHelper.c:885]
FATAL ERROR in native method: JDWP ExceptionOccurred, jvmtiError=AGENT_ERROR_INVALID_EVENT_TYPE(204)
#

A fatal error has been detected by the Java Runtime Environment:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00007ffdb817349e, pid=15528, tid=12688

JRE version: OpenJDK Runtime Environment Temurin-17.0.1+12 (17.0.1+12) (build 17.0.1+12)

Java VM: OpenJDK 64-Bit Server VM Temurin-17.0.1+12 (17.0.1+12, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, windows-amd64)

Problematic frame:

这是运行终止后控制台的内容 ,并不是每次运行都这样。

线程调用stop()方法会被暴力停止,方法已弃用。该方法会有不好的后果:

强制让线程停止有可能使一些请理性的工作得不到完成。
对锁定的对象进行了“解锁”,导致数据得不到同步的处理,出现数据不一致的问题(比如一个方法加上了synchronized,并在其中进行了一个长时间的处理,而在处理结束之前该线程进行了stop(),则未完成的数据将没有进行到同步的处理)

不推荐使用线程的stop方法,会引起线程混乱,建议通过逻辑处理,使线程自然结束。