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

搭建本地网站环境网络公司网站报价方案

搭建本地网站环境,网络公司网站报价方案,wordpress文章循环不带置顶文章,怎么写代码自己制作网站目录 一、什么是监视器#xff08;Monitor#xff09;二、监视器的组成部分三、线程的状态转换四、总结 一、什么是监视器#xff08;Monitor#xff09; 在Java中#xff0c;监视器#xff08;Monitor#xff09;是用来实现线程同步的一种机制。每个Java对象都有一个与… 目录 一、什么是监视器Monitor二、监视器的组成部分三、线程的状态转换四、总结 一、什么是监视器Monitor 在Java中监视器Monitor是用来实现线程同步的一种机制。每个Java对象都有一个与之关联的监视器线程可以通过synchronized关键字来获取和释放对象的监视器。监视器的主要作用是确保在同一时刻只有一个线程可以执行同步块或同步方法从而实现线程的互斥访问。 二、监视器的组成部分 监视器通常包含以下三个关键部分 入口集Entry List等待获取监视器锁的线程集合。所有者线程Owner Thread当前持有监视器锁的线程。等待集Wait Set调用了wait()方法并进入等待状态的线程集合。 线程等待的地方 入口集Entry List线程在尝试进入同步块或同步方法时如果无法获取监视器锁它们会进入入口集等待。这些线程处于阻塞状态等待获取监视器锁。 等待集Wait Set线程在调用wait()方法后会释放监视器锁并进入等待集。这些线程处于等待状态直到被其他线程通过notify()或notifyAll()方法唤醒。 三、线程的状态转换 线程状态转换示意图 以下是线程在不同状态之间转换的过程示意图 新建状态New线程被创建但尚未启动。可运行状态Runnable线程已经启动可以运行但不一定正在运行。阻塞状态Blocked线程在入口集中等待获取监视器锁。等待状态Waiting线程在等待集中等待其他线程通过notify()或notifyAll()唤醒。超时等待状态Timed Waiting线程在等待集中等待特定时间后被唤醒。终止状态Terminated线程已经结束执行。 示例代码解释 我们通过一个示例代码来解释线程在不同状态之间的转换 public class MonitorExample {private static final Object lock new Object();public static void main(String[] args) {Thread thread1 new Thread(() - {synchronized (lock) {try {System.out.println(Thread 1: Acquired lock, entering wait state.);lock.wait();System.out.println(Thread 1: Woken up, reacquired lock.);} catch (InterruptedException e) {Thread.currentThread().interrupt();}}});Thread thread2 new Thread(() - {synchronized (lock) {System.out.println(Thread 2: Acquired lock, notifying.);lock.notify();System.out.println(Thread 2: Notified, releasing lock.);}});thread1.start();try {Thread.sleep(100); // Ensure thread1 starts first and enters wait state} catch (InterruptedException e) {Thread.currentThread().interrupt();}thread2.start();} }过程解释 Thread 1 获取监视器锁 Thread 1 进入同步块并获取监视器锁。 调用lock.wait()方法Thread 1释放监视器锁并进入等待集。 Thread 2 获取监视器锁 Thread 2 进入同步块并获取监视器锁此时Thread 1已在等待集。 调用lock.notify()方法唤醒等待集中的一个线程即Thread 1。 Thread 2 释放监视器锁 Thread 2 退出同步块释放监视器锁。 Thread 1 重新获取监视器锁 被唤醒的Thread 1从等待集中移动到锁池重新竞争获取监视器锁。 Thread 1成功获取监视器锁后从wait()方法返回继续执行后续代码。 四、总结 监视器Monitor用于实现线程同步每个Java对象都有一个监视器。 入口集Entry List线程在尝试进入同步块或同步方法时如果无法获取监视器锁会进入入口集等待。 等待集Wait Set线程在调用wait()方法后会释放监视器锁并进入等待集等待被唤醒。 状态转换线程在不同状态之间转换包括新建、可运行、阻塞、等待、超时等待和终止状态。
http://www.hkea.cn/news/14299730/

相关文章:

  • 电子商务网站建设渠道凡客建站网站下载
  • 池州网站建设电话手机网站怎样建设
  • 网站做等级测评长春移动网站建设
  • 想做个网站报价蔬菜价格怎么做如何解析域名
  • 网站建设培训视频教程手机网站建设方案书
  • 网站备案成功后可以改吗网站首页地址 网站域名
  • 上海网站建设咨用wordpress还是php
  • 网站建设类的手机软件上海教育网站前置审批
  • 有哪几种语言做的网站wordpress 添加子菜单
  • 上海公司企业网站怎么做网站费用计入什么科目
  • 网站建设套餐联系方式电商手机网站开发
  • 网站的后台是开发做的建设投资平台网站
  • 装饰公司营销型网站建设网站定制开发是什么意思
  • dedecms网站地图插件简历模板免费下载wps可编辑
  • 如何设计自己的网站建站系统是什么
  • 登陆工伤保险网站 提示未授权 怎么做电脑怎么做网站赚钱
  • 南山网站设计训东莞网络营销推广专业
  • 建设地方美食网站的目的品牌建设研究
  • 网络公司要求做网站工商网监互联网营销成功案例
  • 网站页尾版权网站做百度排名
  • 在线做拓扑图的网站品牌建设新时代
  • 网站建设与维护教学课件深圳洛可可设计公司
  • 建站平台的服务产品分析使用wordpress编辑器
  • 开网站做外贸代替wordpress
  • 做网站给不给源代码北京建设信息咨询中心网站
  • 无为县建设局网站建设个电商平台网站需要多少钱
  • 多人在线协作网站开发南昌网站建设行业现状
  • ps切片以后 怎么做网站微平台图片
  • mvc5网站开发之六 管理员济南建设网站企业收费
  • 做网站排版百度手机网站制作