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

网站开发怎么拉客户免费虚拟云windows主机

网站开发怎么拉客户,免费虚拟云windows主机,公众号制作模板免费,建设摩托车报价大全目录 1.1 wait()方法 wait 做的事情: wait 结束等待的条件: 1.2 notify()方法 1.3notifyAll方法 1.4wait()和sleep()对比 由于线程之间是抢占式执行的, 因此线程之间执行的先后顺序难以预知. 但是实际开发中有时候我们希望合理的协调多个线程之间的执行先后顺序. 完成这个协调… 目录 1.1 wait()方法  wait 做的事情: wait 结束等待的条件: 1.2 notify()方法  1.3notifyAll方法 1.4wait()和sleep()对比 由于线程之间是抢占式执行的, 因此线程之间执行的先后顺序难以预知. 但是实际开发中有时候我们希望合理的协调多个线程之间的执行先后顺序. 完成这个协调工作 , 主要涉及到三个方法 wait() / wait(long timeout): 让当前线程进入等待状态. notify() / notifyAll(): 唤醒在当前对象上等待的线程. 注意: wait, notify, notifyAll 都是 Object 类的方法.       1.1 wait()方法 wait 做的事情: 使当前执行代码的线程进行等待. (把线程放到等待队列中) 释放当前的锁 满足一定条件时被唤醒, 重新尝试获取这个锁. wait 要搭配 synchronized 来使用. 脱离 synchronized 使用 wait 会直接抛出异常. wait 结束等待的条件: 其他线程调用该对象的 notify 方法. wait 等待时间超时 (wait 方法提供一个带有 timeout 参数的版本, 来指定等待时间). 其他线程调用该等待线程的 interrupted 方法, 导致 wait 抛出 InterruptedException 异常. 代码示例:   public static void main(String[] args) throws InterruptedException {Object object new Object();synchronized (object) {System.out.println(等待中);object.wait();System.out.println(等待结束);} } 这样在执行到object.wait()之后就一直等待下去那么程序肯定不能一直这么等待下去了。这个时候就 需要使用到了另外一个方法唤醒的方法notify()。 1.2 notify()方法  notify 方法是唤醒等待的线程. 方法notify()也要在同步方法或同步块中调用该方法是用来通知那些可能等待该对象的对象锁的 其它线程对其发出通知notify并使它们重新获取该对象的对象锁。 如果有多个线程等待则有线程调度器随机挑选出一个呈 wait 状态的线程。(并没有 先来后到) 在notify()方法后当前线程不会马上释放该对象锁要等到执行notify()方法的线程将程序执行 完也就是退出同步代码块之后才会释放对象锁。 package thread;public class Demo20 {public static void main(String[] args) {Object object new Object();Thread t1 new Thread(() - {synchronized (object) {System.out.println(wait 之前);try {object.wait();// object.wait(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.println(wait 之后);}});Thread t2 new Thread(() - {try {Thread.sleep(3000);} catch (InterruptedException e) {throw new RuntimeException(e);}synchronized (object) {System.out.println(进行通知);object.notify();}});t2.start(); t1.start();} }运行结果  1.3notifyAll方法 notify()和notifyAll()方法都用来唤醒wait()阻塞方法。 但是notify()方法一次只能某一个等待线程而notifyAll()方法一次调用可以唤醒全部的相同锁对象的wait()方法。notifyAll()方法虽然能一次唤醒多个线程但是多个线程要竞争锁并不是同步执行也是依次执行。 1.4wait()和sleep()对比 前者是用于线程之间的通信的后者仅是让线程阻塞一段时间。唯一的相同点就是都可以让线程放弃执行一段时间。 不同点 wait()方法需要搭配synchronized锁使用而sleep()则不用 wait()是Object类的普通方法而sleep()Thread类的静态方法。
http://www.pierceye.com/news/233802/

相关文章:

  • 合肥网站seo技术软件开发工程师简历模板
  • org的域名网站在线取公司名字 免费
  • 网站开发有哪几个阶段百度网站官网怎么做
  • 微信网站名域名访问网站怎么下载
  • 网站源码怎么预览建站技巧
  • 织梦网站会员功能化妆品网站建设描述
  • 手机app软件定制马鞍山seo
  • 重庆网站建设 九度互联响应式网站开发工具
  • 句容市建设工程管理处网站wordpress联系表格
  • 电商网站建设流程新能源汽车价格一览表
  • 实验室网站建设的调查报告海报设计图片手绘图
  • 征求网站建设买正品东西哪个网最好
  • 网站建公司生存响应式网站特点
  • 关于公司建设网站的意义网站后台html页面
  • 麻花星空影视传媒制作公司网站朋友帮忙做网站 费用多少
  • 海口网站建设呢做健身推广网站
  • 哈尔滨网站搜索优化苏州网站建设主页
  • 35互联网站建设怎么样设计工作室宣传文案
  • php做的网站如何该样式云服务器产品介绍
  • 个人网站建设论文绪论上海it公司有哪些
  • 建设网站推广广告图郑州妇科医院哪家好些
  • 自己网站wordpress主题怎么wordpress 功能块
  • 网站制作咨询电话网站建设技术员分为前端 后端
  • 9元建站节建材 团购 网站怎么做
  • 河南城乡住房和建设厅网站公司微信网站建设方案模板下载
  • 西安制作公司网站的公司邯郸市三建建筑公司网址
  • 网站建设工作目标惠州网站网站建设
  • 就业创业网站建设微信app下载安装旧版本
  • 沧州网站备案年栾洪全单页做网站教程
  • 网站开发的疑虑做门窗投标网站