1,使用JVisualVM时,打开Threads监控,我们可以发现Java的线程状态有以下几种:

2,JVM线程状态:

NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED

BLOCKED是等待获得对象锁

WAITING是调用了wait, sleep, park

wait, 进入TIMED_WAITING状态,出让锁,并进入对象的等待队列

sleep, 进入TIMED_WAITING状态,不出让锁

park, 进入WAITING状态,对比wait不需要获得锁就可以让线程WAITING,通过unpark唤醒

interrupt, 只是给线程发个信号,如果在wait, sleep会收到exception

yeild, 在操作系统层面让线程从running变成ready状态,等待继续被调度。在jvm的线程状态还是RUNNABLE

3,操作系统线程状态:

最新文章

  1. 如何在MainWindowViewModel中引用MainWindow.xaml中的Resource?
  2. 使用html5 canvas绘制图片
  3. 免杀ASP一句话
  4. js中json字符串转成js对象
  5. 标签栏控制器(UITabBarController)
  6. 多态&&父类调用子类特有的方法
  7. SQL Server 创建索引的 5 种方法
  8. 抢车位中的排名bug(比較使用了无符号数)
  9. 好记心不如烂笔头,ssh登录 The authenticity of host 192.168.0.xxx can't be established. 的问题
  10. Android实现系统ROOT, 并能赋予app root权限
  11. 开放源代码的设计层面框架Spring——day03
  12. 2019阿里P7最新总结Spring Boot面试问题
  13. 算法第四版jar包下载地址
  14. 【树形期望DP】BZOJ3566- [SHOI2014]概率充电器
  15. layui---事件监听
  16. 把DataTable转换为List<T>
  17. vue自学入门-2(vue创建项目)
  18. Chap8:加密货币TOP100[《区块链中文词典》维京&甲子]
  19. Tutorials on training the Skip-thoughts vectors for features extraction of sentence.
  20. 设置 sideload Outlook Add-ins

热门文章

  1. 面试题:什么叫平衡二叉查找树--AVL树
  2. iOS UILanel 一些小实用
  3. Python学习的开端
  4. DMA初识
  5. Golang: 打印命令行参数
  6. Linux开发环境配置大全
  7. 将linux和uboot集成到Android编译框架中
  8. 树莓派安装realvnc_server
  9. 云打印 对Echo的Beta产品测试报告
  10. 利用python jieba库统计政府工作报告词频