java中线程的状态学习笔记
java开发中,我们经常会遇到线程的问题,比如你做一个商城,就需要考虑它的并发问题等等,今天给大家分享一下java中线程的状态
先说线程的第一个状态,是新建状态,这个是线程刚刚创建的时候,如:
new Thread(),具体如图

线程的第二种状态是可执行状态,就是调用了start方法后的状态,当然了,一个运行的状态,他有可能是正在运行的,也有可能是没有运行的,只是他的状态是可运行的状态,具体如图

第三种状态是被阻塞或者处于等待的线程,处于这种状态下的线程是不活动且不运行的,比如说调用了wait方法等都会造成等待的情况,具体如图

第四种状态就是被终止的状态,这种状态和和上面的状态不一样,上面阻塞状态是可以在激活的,终止之后要想在启动,只能重新调用start方法,终止也有两种方式,第一种是run方法的正常退出,第二种是因为没有捕获到异常而意外终止了,或者使用stop也可以,具体如图

最后给大家看一个关于线程之间的关系图,包括新建,运行,阻塞和被终止之间的关系,具体如图

相关文章
SpringBoot+Mybatis使用Enum枚举类型总是报错No enum constant&n
这篇文章主要介绍了SpringBoot+Mybatis使用Enum枚举类型总是报错No enum constant XX问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-12-12
Nacos Namespace/Group/DataID三者关系解读
本文介绍了Nacos中的命名空间(Namespace)、配置分组(Group)和配置集ID(DataID)的概念,并详细说明了它们之间的关系和应用场景,同时,还提供了三者在不同环境下的配置切换方案,包括DataID方案、Group方案和命名空间方案2024-12-12
SpringBoot日志进阶实战之Logback配置经验和方法
本文给大家介绍在SpringBoot中使用Logback配置日志的经验和方法,并提供了详细的代码示例和解释,包括:滚动文件、异步日志记录、动态指定属性、日志级别、配置文件等常用功能,覆盖日常Logback配置开发90%的知识点,感兴趣的朋友跟随小编一起看看吧2023-06-06


最新评论