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