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

张家港网站建设优化oa系统怎么用

张家港网站建设优化,oa系统怎么用,清镇市最新消息,坑梓网站建设基本流程一、wait()、notify()、notifyAll()等方法介绍 在Object.java中#xff0c;定义了wait(), notify()和notifyAll()等接口。wait()的作用是让当前线程进入等待状态#xff0c;同时#xff0c;wait()也会让当前线程释放它所持有的锁。而notify()和notifyAll()的作用#xff0…一、wait()、notify()、notifyAll()等方法介绍 在Object.java中定义了wait(), notify()和notifyAll()等接口。wait()的作用是让当前线程进入等待状态同时wait()也会让当前线程释放它所持有的锁。而notify()和notifyAll()的作用则是唤醒当前对象上的等待线程notify()是唤醒单个线程而notifyAll()是唤醒所有的线程。 Object类中关于等待/唤醒的API详细信息如下 notify() – 唤醒在此对象监视器上等待的单个线程。 notifyAll() – 唤醒在此对象监视器上等待的所有线程。 wait() – 让当前线程处于“等待(阻塞)状态”“直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法”当前线程被唤醒(进入“就绪状态”)。 wait(long timeout) – 让当前线程处于“等待(阻塞)状态”“直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法或者超过指定的时间量”当前线程被唤醒(进入“就绪状态”)。 wait(long timeout, int nanos) – 让当前线程处于“等待(阻塞)状态”“直到其他线程调用此对象的 notify() 方法或 notifyAll() 方法或者其他某个线程中断当前线程或者已超过某个实际时间量”当前线程被唤醒(进入“就绪状态”)。 二、wait()和notify()示例 package com.demo.Thread;public class ThreadA extends Thread{public ThreadA(String name){super(name);}public void run(){synchronized(this){System.out.println(Thread.currentThread().getName() call notify());// 唤醒当前的wait线程notify();}} }package com.demo.Thread; public class WaitTest {public static void main(String[] args){ThreadA t1 new ThreadA(t1);synchronized(t1){try{// 启动“线程t1”System.out.println(Thread.currentThread().getName() start t1);t1.start();// 主线程等待t1通过notify()唤醒。System.out.println(Thread.currentThread().getName() wait());t1.wait();System.out.println(Thread.currentThread().getName() continue);}catch(InterruptedException e){e.printStackTrace();}}} }运行结果 main start t1 main wait() t1 call notify() main continue结果说明 如下图说明了“主线程”和“线程t1”的流程。 (01) 注意图中主线程 代表“主线程main”。“线程t1” 代表WaitTest中启动的“线程t1”。 而“锁” 代表“t1这个对象的同步锁”。 (02) “主线程”通过 new ThreadA(“t1”) 新建“线程t1”。随后通过synchronized(t1)获取“t1对象的同步锁”。然后调用t1.start()启动“线程t1”。 (03) “主线程”执行t1.wait() 释放“t1对象的锁”并且进入“等待(阻塞)状态”。等待t1对象上的线程通过notify() 或 notifyAll()将其唤醒。 (04) “线程t1”运行之后通过synchronized(this)获取“当前对象的锁”接着调用notify()唤醒“当前对象上的等待线程”也就是唤醒“主线程”。 (05) “线程t1”运行完毕之后释放“当前对象的锁”。紧接着“主线程”获取“t1对象的锁”然后接着运行。 对于上面的代码曾经有个朋友问到过t1.wait()应该是让“线程t1”等待但是为什么却是让“主线程main”等待了呢 注意jdk的解释中说wait()的作用是让“当前线程”等待而“当前线程”是指正在cpu上运行的线程 这也意味着虽然t1.wait()是通过“线程t1”调用的wait()方法但是调用t1.wait()的地方是在“主线程main”中。而主线程必须是“当前线程”也就是运行状态才可以执行t1.wait()。所以此时的“当前线程”是“主线程main”因此t1.wait()是让“主线程”等待而不是“线程t1”
http://www.w-s-a.com/news/392056/

相关文章:

  • 公司网站友情链接怎么做副链华为荣耀手机官网
  • 一条龙做网站旅游网页设计模板图凡科
  • 中山网站建设哪家便宜在中国做外国网站怎么收钱
  • 网站优化大计孝感注册公司
  • 设计接单app平台有哪些在线网站seo诊断
  • 兰州网站建设推广现代营销手段有哪些
  • 郴州网站seo优化网络安全哪个培训班比较好
  • 做网站需要记哪些代码企业网站建设思路
  • 重庆自助建站模板网络服务器配置与管理
  • 外贸网站怎样做小程序买量平台
  • 中山精品网站建设机构海外留学网站建设方案
  • 长春网站建设工作如何取消wordpress页脚
  • 忻府网站建设排名网络管理系统官网
  • 张家港外贸网站建设国医堂网站平台建设
  • 水冶那里有做网站的对于网站链接优化有哪些建议
  • 宝安中心地铁站是几号线化妆品网站做的好的
  • 海宁营销型网站设计企业融资是什么意思
  • 淘宝客做网站要钱吗网站开发试题库
  • 10g空间网站做视频网站网站建设找超速云
  • 一元购网站怎么做企业网站源码cms
  • 域名不变 网站改版临沂企业网站建站模板
  • 天河网站建设信科网络外包公司和公司直招哪个好
  • 网站制作哈尔滨聊天系统源码
  • 网站建设朋友圈素材青白江建设网站
  • 红酒网站设计软件设计文档
  • 如何创建网站目录网站申请支付宝接口
  • 网站做区块链然后往里面投钱品牌设计公司收费标准
  • 2022互联网+创新创业项目呼和浩特企业网站排名优化
  • 电子商务类网站建设山西自助建站系统怎么用
  • odoo做网站网站设置专栏有什么好处