首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是Dalvik线程状态?

什么是Dalvik线程状态?
EN

Stack Overflow用户
提问于 2014-04-21 22:39:10
回答 1查看 5.1K关注 0票数 11

每个ANR转储都列出ANR发生时所有线程的状态。我知道WAIT是什么意思,但SUSPENDEDMONITOR是什么意思?

提前谢谢..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-21 22:44:13

Dalvik线程概述:

  • 初始化-尚未运行。
  • 开始-还没开始,但就快到了。
  • 僵尸-死者(你不应该看到这个)。
  • 运行(a/k/a RUNNABLE) -线程正在积极运行。VM必须挂起所有线程来执行堆栈转储,所以除了正在转储堆栈的线程之外,通常不会看到其他线程也会出现这种情况。
  • 等待-线程名为wait(),并且正在耐心地等待。
  • TIMED_WAIT -名为wait()的线程,有一个超时。(Thread.sleep()是作为时间等待实现的。)
  • 监视器-线程在监视器锁上被阻塞,也就是说它被卡在试图进入“同步”块中。
  • 本机线程在本机代码中执行。VM不会在本机代码中挂起线程,除非它们发出JNI调用(此时它们转换为运行,然后立即被挂起)。
  • VMWAIT -线程被阻止获取VM资源,如内部互斥。或者等待做一些事情(例如编译器和GC线程)。
  • 挂起-线程是可运行的,但已被挂起。如前所述,堆栈跳转程序喜欢在遍历堆栈之前挂起所有线程,因此您的繁忙线程通常会以这种方式出现。(在旧版本中,此状态不存在;“悬置”过去是“使用非零sCount运行”)。
票数 38
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23207231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档