1、终止线程的几种方法,各有什么利弊?
1)使用标志位,退出run()方法
2)thread.stop()强制终止(已过期)。会立刻停止线程工作,包括在 catch 或 finally 语句,可能会导致清理工作未完成;会立即释放该线程持有的所有锁,使数据得不到同步。
3)interrupt方法终止(推荐)。线程中断并不会立即终止线程,而是通知目标线程,有人希望你终止。至于目标线程收到通知后会如何处理,则完全由目标线程自行决定
1、终止线程的几种方法,各有什么利弊?
1)使用标志位,退出run()方法
2)thread.stop()强制终止(已过期)。会立刻停止线程工作,包括在 catch 或 finally 语句,可能会导致清理工作未完成;会立即释放该线程持有的所有锁,使数据得不到同步。
3)interrupt方法终止(推荐)。线程中断并不会立即终止线程,而是通知目标线程,有人希望你终止。至于目标线程收到通知后会如何处理,则完全由目标线程自行决定