概述

线程大家肯定不陌生,对于线程中的运行状态,自己经常搞混淆,这边按照下图记录下:

线程一般来说有如下几种状态:

新建,可运行,超时阻塞,等待阻塞,同步阻塞,死亡

yeild:当线程执行了yield()方法后,将转到就绪状态,yield()方法只会给相同优先级或者更高优先级的线程一个运行的机会,与其他进程处于同等竞争状态,OS有可能会接着又让这个进程进入运行状态,yield()方法没有声明抛出任何异常

sleep:sleep()方法会给其他线程运行的机会,而不考虑其他线程的优先级,因此会给较低线程一个运行的机会,sleep()方法声明抛出InterruptedException异常,sleep方法并不会释放占用的资源。

join:阻塞当前线程,等待其他线程执行完毕,不会释放占用的资源

wait:调用wait 方法后,它就进入到一个和该对象相关的等待池中,同时失去了对象的锁,只有notify能够唤醒,等待获取锁,继续执行。

最新文章

  1. wireshark 相关提示
  2. JavaScript学习笔记-对象
  3. eclipse启动tomcat错误:A Java Exception has occurred
  4. 安装confluence
  5. 通过NORFLASH中的uboot烧写uboot到nandFlash
  6. nodejs的mysql模块学习(七)连接池事件
  7. 1085. Perfect Sequence (25)
  8. IIS 之 启用日志记录
  9. UML-状态图,顺序图,活动图
  10. boost在windows下的编译(vs2010)
  11. Leetcode: Subsets & SubsetsII
  12. 常用的opengl函数(三)
  13. Java内存模型JMM 高并发原子性可见性有序性简介 多线程中篇(十)
  14. A1134. Vertex Cover
  15. 定时 清理 elasticsearch 6.5.4 的 索引 文件
  16. 剑指Offer 22. 从上往下打印二叉树 (二叉树)
  17. Android学习之基础知识二(build.gradle文件详解)
  18. redis、memcached、mongoDB 对比
  19. VMware 虚拟机CentOS 7 网路连接配置 无eth0简单解决办法
  20. 其它终端设备连接gmail账户提示密码错误解决方法

热门文章

  1. PO、POJO、BO、DTO、VO之间的区别(转)
  2. java中的构造器
  3. React-native完整配置流程
  4. S3T mongodb GUI
  5. allure--下的各装饰器的翻译及自己的总结
  6. conda命令简单使用
  7. Day 4 变量常量
  8. python 学习笔记 4 ----> dive into python 3
  9. sql自建用户
  10. cef-3.2623 build on vs2013