java中线程的生命周期

多线程:

如一个以上的线程同步执行,线程管理工作便显得非常的重要。有些线程必须安排在某些线程之后才能执行,有些线程则必须让它小睡片刻,或者先暂停后执行,在等待其他的线程唤醒它。

线程的生命周期:

新创建的线程

线程在产生时候便马上进入到这个状态,也就是说,当用new 关键字创建线程对象的时候,线程所处的状态就是这种状态,但是此时系统并不会配置资源,直到调用start()启动线程的时候才会配置。

 

可运行的线程:

start()方法启动线程之后,线程就可以进入可以运行状态,此时最先抢占到cpu资源的会最先运行run()方法,其余的线程便在队列中等待机会争取cpu的资源,一旦争取到便会开始执行。

 

被冻结状态:发生下列的事件的时候,被冻结状态的线程产生:

(1)线程调用对象的wait()方法。

(2)该线程本身调用sleep()方法,可以用来设定制定的时间的毫秒数。

(3)该线程和另一个线程join()方法连接在一起的时候。当某一个线程调用join()时候,则其它尚未启动的线程或程序代码会等待到该线程执行结束后才开始执行。

当线程被冻结的时候,便停止run()方法的运行,直到被冻结额因素消失以后,线程便回到可运行状态,继续排队争取cpu资源,本冻结的因素消失的原因有以下几点。

(1)如果线程由调用该对象的wait()方法所冻结,则该对象的notify()方法被调用时候可以解除冻结。notify()的英文本意为“告知”,也就是说,notify()可告知被wait()冻结的线程开始执行。

(2)线程进入睡眠状态,但是指定的睡眠时间到了。

死亡状态:

当线程的run()方法执行完毕以后,或是由线程调用它的stop()方法,则线程进入到死亡状态。

实例代码待续
见博文notify()和notifyall()以及wait的运用实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hymKing

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值