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

从化做网站广州网站建设支付

从化做网站,广州网站建设支付,成都网站建设外包,推广外包1、小故事 - 为什么需要 wait 由于条件不满足#xff08;没烟干不了活啊#xff0c;等小M把烟送过来#xff09;#xff0c;小南不能继续进行计算 但小南如果一直占用着锁#xff0c;其它人就得一直阻塞#xff0c;效率太低 于是老王单开了一间休息室#xff08;调…1、小故事 - 为什么需要 wait 由于条件不满足没烟干不了活啊等小M把烟送过来小南不能继续进行计算 但小南如果一直占用着锁其它人就得一直阻塞效率太低 于是老王单开了一间休息室调用 wait 方法让小南到休息室WaitSet等着去了但这时锁释放开其它人可以由老王随机安排进屋 直到小M将烟送来大叫一声 [ 你的烟到了 ] 调用 notify 方法 小南于是可以离开休息室重新进入竞争锁的队列 2、wait notify 原理 Owner 线程发现条件不满足调用 wait 方法即可进入 WaitSet 变为 WAITING 状态 BLOCKED 和 WAITING 的线程都处于阻塞状态不占用 CPU 时间片 BLOCKED 线程会在 Owner 线程释放锁时唤醒 WAITING 线程会在 Owner 线程调用 notify 或 notifyAll 时唤醒但唤醒后并不意味者立刻获得锁仍需进入 EntryList 重新竞争 3、API 介绍 obj.wait() 让进入 object 监视器的线程到 waitSet 等待 obj.notify() 在 object 上正在 waitSet 等待的线程中挑一个唤醒 obj.notifyAll() 让 object 上正在 waitSet 等待的线程全部唤醒 它们都是线程之间进行协作的手段都属于 Object 对象的方法。必须获得此对象的锁才能调用这几个方法否则会报IllegalMonitorStateException final static Object obj new Object(); ​ public static void main(String[] args) { ​new Thread(() - {synchronized (obj) {log.debug(执行....);try {obj.wait(); // 让线程在obj上一直等待下去} catch (InterruptedException e) {e.printStackTrace();}log.debug(其它代码....);}}).start(); ​new Thread(() - {synchronized (obj) {log.debug(执行....);try {obj.wait(); // 让线程在obj上一直等待下去} catch (InterruptedException e) {e.printStackTrace();}log.debug(其它代码....);}}).start(); ​// 主线程两秒后执行sleep(2);log.debug(唤醒 obj 上其它线程);synchronized (obj) {obj.notify(); // 唤醒obj上随机一个线程// obj.notifyAll(); // 唤醒obj上所有等待线程} } notify 的一种结果 20:00:53.096 [Thread-0] c.TestWaitNotify - 执行.... 20:00:53.099 [Thread-1] c.TestWaitNotify - 执行.... 20:00:55.096 [main] c.TestWaitNotify - 唤醒 obj 上其它线程 20:00:55.096 [Thread-0] c.TestWaitNotify - 其它代码.... notifyAll 的结果 19:58:15.457 [Thread-0] c.TestWaitNotify - 执行.... 19:58:15.460 [Thread-1] c.TestWaitNotify - 执行.... 19:58:17.456 [main] c.TestWaitNotify - 唤醒 obj 上其它线程 19:58:17.456 [Thread-1] c.TestWaitNotify - 其它代码.... 19:58:17.456 [Thread-0] c.TestWaitNotify - 其它代码.... wait() 方法会释放对象的锁进入 WaitSet 等待区从而让其他线程就机会获取对象的锁。无限制等待直到 notify 为止 wait(long n) 有时限的等待, 到 n 毫秒后结束等待或是被 notify
http://www.pierceye.com/news/766534/

相关文章:

  • 企业网站手机版商城网站有什么好处
  • 推荐一本学做网站的书温州阀门网站建设
  • 用户要承担暖气费的税吗太原优化排名推广
  • Wordpress外贸网站搭建公司宿迁建设网站
  • 学校网站建设的意义和应用山东淄博网站建设
  • 莱芜网站建设价格低网站vps
  • 长治做网站哪家好赣州注册公司
  • 网站开发从入门到精通做h5的网站哪个好
  • 免费公司网站如何建立设计个人网站好备案吗
  • 建网站和做微信哪个好在线识别图片百度识图
  • php网站开发如何实现删除功能大连大连建设工程信息网站
  • 表格模板免费下载网站wordpress 插件位置
  • wordpress小白能学会吗汕头做网站优化公司
  • 军队营房基础建设网站重庆做网站个人
  • 网站建设怎样中英文网站备案是空间备案还是域名备案
  • 陕西网站制作人力资源服务外包
  • 成都网站建设哪家售后好网站建设费可以计业务费吗
  • 做服装到哪个网站拿货品质好自己制作的网页别人如何访问
  • 榆林哪里做网站网页游戏网站那个好
  • 泰安口碑好的企业建站公司wordpress验证码无效
  • 圣矢网络重庆网站建设优化推广公司好听好记的网站域名
  • 如何做旅游小视频网站比较好的外贸公司
  • 图书馆建设投稿网站使用 ahrefs 进行 seo 分析
  • 校园网站建设 德育免费换ip软件
  • 排行网站模板凡科代理千万不要做
  • 贵州省冶金建设有限公司网站网站好玩新功能
  • 怎么让客户做网站惠州关键词排名提升
  • 创建公司网站需要什么国外的智慧城市建设网站
  • 阿里云服务器做网站django高清无版权网站
  • 网页制作与网站制作wordpress二次元风格