Loading

线程的中断

1.线程的中断(interrupt)

public void interrupt() //t.interrupt() 打断t线程(设置t线程某给标志位f=true,并不是打断线程的运行)

public boolean isInterrupted() //t.isInterrupted() 查询打断标志位是否被设置(是不是曾经被打断过)

public static boolean interrupted()//Thread.interrupted() 查看“当前”线程是否被打断,如果被打断,恢复标志位

interrupt()不能打断正在竞争锁的线程synchronized

如果想打断正在竞争锁的线程,使用ReentrantLock的lockInterruptibly()

2.优雅的结束线程

1.自然结束(能自然结束就尽量自然结束)

2.stop() suspend() resume() 已废弃不推荐使用,太暴力

3.volatile标志,打断时间不是特别精确

4.interrupt() and isInterrupted(比较优雅)2.线程的中断

posted @ 2022-01-19 23:01  ZT丶  阅读(47)  评论(0编辑  收藏  举报