Java多线程之线程状态总结
2024-08-27 02:52:51
概述
线程大家肯定不陌生,对于线程中的运行状态,自己经常搞混淆,这边按照下图记录下:
线程一般来说有如下几种状态:
新建,可运行,超时阻塞,等待阻塞,同步阻塞,死亡
yeild:当线程执行了yield()方法后,将转到就绪状态,yield()方法只会给相同优先级或者更高优先级的线程一个运行的机会,与其他进程处于同等竞争状态,OS有可能会接着又让这个进程进入运行状态,yield()方法没有声明抛出任何异常
sleep:sleep()方法会给其他线程运行的机会,而不考虑其他线程的优先级,因此会给较低线程一个运行的机会,sleep()方法声明抛出InterruptedException异常,sleep方法并不会释放占用的资源。
join:阻塞当前线程,等待其他线程执行完毕,不会释放占用的资源
wait:调用wait 方法后,它就进入到一个和该对象相关的等待池中,同时失去了对象的锁,只有notify能够唤醒,等待获取锁,继续执行。
最新文章
- wireshark 相关提示
- JavaScript学习笔记-对象
- eclipse启动tomcat错误:A Java Exception has occurred
- 安装confluence
- 通过NORFLASH中的uboot烧写uboot到nandFlash
- nodejs的mysql模块学习(七)连接池事件
- 1085. Perfect Sequence (25)
- IIS 之 启用日志记录
- UML-状态图,顺序图,活动图
- boost在windows下的编译(vs2010)
- Leetcode: Subsets &; SubsetsII
- 常用的opengl函数(三)
- Java内存模型JMM 高并发原子性可见性有序性简介 多线程中篇(十)
- A1134. Vertex Cover
- 定时 清理 elasticsearch 6.5.4 的 索引 文件
- 剑指Offer 22. 从上往下打印二叉树 (二叉树)
- Android学习之基础知识二(build.gradle文件详解)
- redis、memcached、mongoDB 对比
- VMware 虚拟机CentOS 7 网路连接配置 无eth0简单解决办法
- 其它终端设备连接gmail账户提示密码错误解决方法