java Thread 片段整理

本文详细介绍了线程的生命周期,包括线程从创建到结束的各个阶段:等待状态、活动状态、终止状态等,并讨论了如何通过设置内部结束标志或使用interrupt()方法来结束线程。

一, 线程的生命周期

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.
      

 

 

 


 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值