线程打断
interrupt()
打断某个线程(设置标志位)
isInterrupted()
查询某个线程是否被打断过(查询标志位)
static interrupted()
查询当前线程是否被打断过,并重置打断标志
线程结束
stop() | 结束线程 | stop结束的时候,会强行释放全部的锁,很容易导致数据不同步的问题,所以已经弃用 |
t.suspend() t.resume() | 暂停结束线程 | 暂停时,锁不会被释放,会产生死锁问题,已经被废弃 |
volatile | 关键字 | volatile是表示防止指令重排,让线程间可见,所以设置volatile标识来让线程结束 |
interrupt | 标志位 | 可以用interrupt表示来使线程结束。优点:相比起volatile,可以处理线程阻塞时,遇到interrupt抛出的异常 |