一, 线程的生命周期
1. Wating state
一旦线程被构造, 但是还没有执行任何代码, 那么它就处于 waiting state, 其他的线程可以与之交互, 还可以设置不同的属性, 如priority, name, daemon status 等.
一旦一个线程 处于 waiting, 它的state 可以被其他的 线程 所改变
2. Alive state
如果线程的start() 方法被调用, 则线程可能正在运行状态中, 可以调用isAlive方法进行判断
3. Terminating Thread
在run() 执行完后, 线程会结束掉
当然我们可以调用System.exit() 方法 强制结束掉程序.
run() 抛出的unchecked Excpetion.
4. stop, suspending, resuming Thread
stop, suspend(), resume() 方法已经废弃掉
sleep() 方法可以暂停当前线程的执行
5. Thread Cleanup
join() 一直柱塞 直到run() 执行完后.
2.4 结束线程的两种方式
1. 设置一个内部结束的标志
2. 调用interrupt() 方法, 他有两个效果,
a. 是 导致所有的bocked 方法抛出interruptedExeption
b. 设置一个线程内部标志, 标示线程已经 interrupted.
本文详细介绍了线程的生命周期,包括线程从创建到结束的各个阶段:等待状态、活动状态、终止状态等,并讨论了如何通过设置内部结束标志或使用interrupt()方法来结束线程。
171万+

被折叠的 条评论
为什么被折叠?



