当前位置: 首页 > wzjs >正文

自己做网站平台需要服务器seo排名资源

自己做网站平台需要服务器,seo排名资源,手机公司网站建设,iis安装wordpress以下是Java线程状态的详细说明、状态转换关系的UML图描述以及表格整理: 一、Java线程状态 Java线程的生命周期包含以下6种状态: NEW:线程已创建但未启动(未调用start()方法)。RUNNABLE:线程可运行&#x…

以下是Java线程状态的详细说明、状态转换关系的UML图描述以及表格整理:


一、Java线程状态

Java线程的生命周期包含以下6种状态:

  1. NEW:线程已创建但未启动(未调用start()方法)。
  2. RUNNABLE:线程可运行(可能正在执行或等待CPU调度)。
  3. BLOCKED:线程因等待获取锁(如synchronized)而阻塞。
  4. WAITING:线程主动进入无限期等待(需其他线程显式唤醒)。
  5. TIMED_WAITING:线程进入有限期等待(自动超时后恢复)。
  6. TERMINATED:线程执行完毕或异常终止。

二、状态转换关系(UML图描述)

以下是线程状态转换的UML状态图结构(用文字描述):

+-------------------+
|       NEW         |
|                   |
+-------+-----------+| start()   |v           |
+-------v-----------+
|  RUNNABLE         | ← [锁释放]
|                   | ← [超时/中断]
+-------+-----------+ ← [唤醒]|           ||           +→ [竞争锁失败] → +----------------+|                       → |    BLOCKED      ||                       → +----------------+|                       ← [锁释放]|           +→ [调用wait()等] → +----------------+|                       → |   WAITING      ||                       → +----------------+|                       ← [notify()/interrupt()]|           +→ [调用sleep()等] → +----------------+|                       → | TIMED_WAITING ||                       → +----------------+|                       ← [超时/中断/唤醒]|           ||           +→ [run()执行完毕] → +----------------++--------------------------→ | TERMINATED    |+----------------+
转换条件说明
  1. NEW → RUNNABLE:调用thread.start()
  2. RUNNABLE → BLOCKED:尝试获取被占用的synchronized锁。
  3. RUNNABLE → WAITING:调用Object.wait()Thread.join()LockSupport.park()
  4. RUNNABLE → TIMED_WAITING:调用Thread.sleep()Thread.join(long)Object.wait(long)
  5. RUNNABLE → TERMINATEDrun()方法执行完毕或抛出未捕获异常。
  6. BLOCKED → RUNNABLE:锁被释放。
  7. WAITING → RUNNABLE:被notify()unpark()interrupt()唤醒。
  8. TIMED_WAITING → RUNNABLE:超时、被notify()unpark()interrupt()唤醒。
  9. TERMINATED:终态,无法转换。

三、状态对比表格

状态描述转换条件典型场景
NEW线程已创建但未启动。start()RUNNABLE线程对象初始化后未启动。
RUNNABLE线程可运行(可能正在执行或等待CPU调度)。- 锁竞争失败 → BLOCKED
- 调用wait()WAITING
- 调用sleep()TIMED_WAITING
- run()执行完毕 → TERMINATED
线程正常执行业务逻辑。
BLOCKED线程因等待锁而阻塞。锁被释放 → RUNNABLE竞争synchronized锁时。
WAITING线程主动进入无限期等待(需其他线程显式唤醒)。notify()unpark()interrupt()RUNNABLE调用wait()join()LockSupport.park()
TIMED_WAITING线程进入有限期等待(超时或被中断后恢复)。超时/被notify()unpark()interrupt()RUNNABLE调用sleep()wait(long)join(long)
TERMINATED线程执行完毕或异常终止。终态,无法转换。run()方法执行结束或抛出未捕获异常。

四、关键注意事项

  1. 状态查询:通过Thread.getState()获取当前线程状态。
  2. 状态转换的触发条件
    • BLOCKED:仅因锁竞争失败导致,需释放锁后恢复。
    • WAITING/TIMED_WAITING:需外部干预(如notify()interrupt())或超时才能恢复。
  3. 中断的影响interrupt()可能使线程从WAITINGTIMED_WAITING状态恢复(取决于具体方法实现)。
  4. RUNNABLE状态的特殊性:包含两种子状态:
    • 可运行:等待CPU调度。
    • 正在运行:当前正在执行。

通过以上状态管理和转换逻辑,可以更清晰地控制线程行为并避免死锁或资源竞争问题。

http://www.dtcms.com/wzjs/229521.html

相关文章:

  • 国外用tornado做的网站如何建网站赚钱
  • 如何做幸运28网站代理百度关键词
  • 网站聚合怎么做电商网站上信息资源的特点包括
  • 门户网站模板之家手机制作网页用什么软件
  • 上海高端网站建设制作如何制作个人网站
  • 动漫做暧视频在线观看网站网站开发的步骤
  • bootstrap 做企业网站seo怎么快速提高排名
  • 漳州做网站设计百度搜索排行榜前十名
  • 常州百度网站排名优化推广产品的软文
  • 建站之星官网登陆谷歌ads
  • 微信小程序开发教程书广州市网络seo外包
  • 东昌府网站建设公司线上线下整合营销方案
  • 松岗网站的建设百度爱采购推广怎么入驻
  • 手机网站页面最近国际时事热点事件
  • tob主题做电影网站网络营销案例2022
  • php和ASP网站那个好广告推广平台代理
  • 湖南省建设工程造价管理总站网站提高销售的10种方法
  • 重庆网站模板建站公司网络新闻发布平台
  • 网站建设百度优化b站入口2024已更新
  • web网站开发软件百度关键词优化多久上首页
  • 如何做免费网站推广文案怎么写
  • 网站建设现状和前景国际新闻最新消息今天军事新闻
  • 全网网站建设百度查询最火的关键词
  • 网站免费站学大教育培训机构电话
  • 注册网站后邮箱收到邮件福州百度快速优化排名
  • 美女做暖暖免费视频网站网络推广网站排名
  • 人力资源网站怎么做百度的合作网站有哪些
  • 网站排名软件 利搜seo短视频网页入口
  • 网站备案变更域名六年级下册数学优化设计答案
  • 京东优惠劵网站怎么做优化是什么意思?