课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
线程与线程池都是程序员在学习Java编程开发语言的时候需要重点掌握的一个编程技术,而本文我们就通过案例分享来了解一下,线程与线程池状态类型分享。
线程有6种状态:NEW:初始化状态、RUNNABLE:可运行/运行状态、BLOCKED:阻塞状态、WAITING:无时限等待状态、TIMED_WAITING:有时限等待状态和TERMINATED:终止状态。而线程池的状态有以下5种:
RUNNING:运行状态,线程池创建好之后就会进入此状态,如果不手动调用关闭方法,那么线程池在整个程序运行期间都是此状态。
SHUTDOWN:关闭状态,不再接受新任务提交,但是会将已保存在任务队列中的任务处理完。
STOP:停止状态,不再接受新任务提交,并且会中断当前正在执行的任务、放弃任务队列中已有的任务。
TIDYING:整理状态,所有的任务都执行完毕后(也包括任务队列中的任务执行完),当前线程池中的活动线程数降为0时的状态。到此状态之后,会调用线程池的terminated()方法。
TERMINATED:销毁状态,当执行完线程池的terminated()方法之后就会变为此状态。
线程池的状态转移有两条路径:
当调用shutdown()方法时,线程池的状态会从RUNNING到SHUTDOWN,再到TIDYING,后到TERMENATED销毁状态。
当调用shutdownNow()方法时,线程池的状态会从RUNNING到STOP,再到TIDYING,后到TERMENATED销毁状态。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。