Java中断线程的方法有两种:
使用Thread类的interrupt()方法:该方法会设置线程的中断状态为true。当线程处于阻塞状态(如调用了sleep()、wait()、join()等方法)时,会立即抛出InterruptedException异常,使线程提前结束阻塞状态。在线程的代码中,可以通过判断线程的中断状态来决定是否退出线程。
使用共享变量来控制线程的运行状态:可以通过设置一个共享变量(如boolean类型的flag),在线程的代码中根据该变量的值来决定是否退出线程。当需要中断线程时,将共享变量的值设置为false,从而使线程结束循环或退出线程。
需要注意的是,以上两种方法都无法强制结束一个正在运行的线程,而只能通过协作的方式使线程退出。