线程有几种状态?,java中的线程有四种状态
如何解决写爬虫IP受阻的问题?立即使用。
线程是一个动态执行的过程,它有一个从产生到死亡的过程,共五种状态:
新建(new Thread)(推荐学习:java课程)
创建Thread类的实例(对象)时,线程进入新状态(未启动)。
就绪(runnable)
线程已经启动,正在等待分配给CPU时间片,也就是说,线程在就绪队列中等待获取CPU资源。比如:t1 . start();
运行(running)
获取线程正在用CPU资源执行的任务(run()方法)。此时,除非这个线程自动放弃CPU资源,或者有更高优先级的线程进入,否则线程会一直运行到结束。
死亡(dead)
当一个线程执行完毕或者被其他线程杀死时,线程就会进入死状态,线程不可能进入就绪状态等待执行。
自然终止:正常运行run()方法后终止。
异常:调用stop()方法停止线程运行。
堵塞(blocked)
由于某种原因,正在运行的线程放弃了CPU,挂起了自己的执行,也就是进入了阻塞状态。
休眠:使用sleep(long t)方法将线程置于休眠模式。休眠线程可以在指定时间后进入就绪状态。
等待:调用wait()方法。(调用motify()方法返回就绪状态)
被另一个线程阻塞:调用suspend()方法。(调用resume()方法进行恢复)。这是java线程几种状态的细节。更多详情请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。