简单谈谈Java 中的线程的几种状态

作者:Oaki 时间:2023-05-10 13:29:45 

Java 中的线程有以下状态:

新建状态(New):新创建的线程,还未执行。

就绪状态(Runnable):执行了 start() 方法,等待运行,

运行状态(Running):就绪状态的线程开始执行程序代码。

阻塞状态(Blocked)

  • 同步堵塞:在运行过程中,需要拿到锁才能运行,而锁被其他资源占用,需要等待。

  • 等待堵塞:执行了 wait() 方法,进入了等待。

  • 其他堵塞:执行了 join()、sleep() 方法,进入了等待。

终止状态(Terminated):运行完 run() 方法后结束,或者因遇到异常导致终止。

  • New:新创建的线程,尚未执行;

  • Runnable:运行中的线程,正在执行run()方法的Java代码;

  • Blocked:运行中的线程,因为某些操作被阻塞而挂起;

  • Waiting:运行中的线程,因为某些操作在等待中;

  • Timed Waiting:运行中的线程,因为执行sleep()方法正在计时等待;

  • Terminated:线程已终止,因为run()方法执行完毕。

来源:https://my.oschina.net/Oaki/blog/3164976

标签:Java,线程状态
0
投稿

猜你喜欢

  • Springboot中加入druid连接池

    2023-08-08 05:47:22
  • Android简单实现文件下载

    2023-08-28 06:33:17
  • android手机获取gps和基站的经纬度地址实现代码

    2022-04-05 03:03:00
  • Android中系统自带锁WalkLock与KeyguardLock用法实例详解

    2023-11-26 01:50:49
  • Flutter路由传递参数及解析实现

    2023-06-22 11:48:45
  • C#常用目录文件操作类实例

    2023-06-24 13:30:24
  • Flutter 自定义Drawer 滑出位置的大小实例代码详解

    2021-09-18 23:18:19
  • Android HorizontalScrollView滑动与ViewPager切换案例详解

    2023-06-05 00:48:27
  • SpringBoot框架RESTful接口设置跨域允许

    2021-12-31 13:40:19
  • c++函数转c#函数示例程序分享

    2023-08-13 14:45:26
  • Android中通知Notification使用实例(振动、灯光、声音)

    2021-09-28 20:00:01
  • C#解析JSON实例

    2022-05-08 16:09:56
  • SpringBoot使用RestTemplate的示例详解

    2021-10-22 10:11:45
  • springboot中的静态资源加载顺序优先级

    2023-08-24 11:12:31
  • Android实现状态栏(statusbar)渐变效果的示例

    2023-09-19 19:13:43
  • C#中Decimal类型截取保留N位小数并且不进行四舍五入操作

    2022-01-22 20:55:59
  • RxJava加Retrofit文件分段上传实现详解

    2022-03-02 05:36:10
  • C++内存模型与名称空间概念讲解

    2023-07-15 03:43:43
  • android接收到蓝牙配对请求时如何点亮屏幕具体实现

    2023-08-11 03:28:38
  • java开发RocketMQ之NameServer路由管理源码分析

    2023-10-27 20:56:12
  • asp之家 软件编程 m.aspxhome.com