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

咖啡网站开发背景怎么写青岛航拍公司

咖啡网站开发背景怎么写,青岛航拍公司,怎样自己免费搭建网站,平台推广策划文案#x1f490;专栏导读 本篇文章收录于多线程#xff0c;也欢迎翻阅博主的其他文章#xff0c;可能也会让你有不一样的收获#x1f604; #x1f342;JavaSE #x1f337;多线程 #x1f33c;数据结构 文章目录 #x1f490;专栏导读#x1f490;wait()#x1f490;no…专栏导读 本篇文章收录于多线程也欢迎翻阅博主的其他文章可能也会让你有不一样的收获 JavaSE 多线程 数据结构 文章目录 专栏导读wait()notify()notifyAll()wait和sleep()的区别 首先我们知道线程的执行顺序是随机的(操作系统随机调度的抢占式执行)但是有时候我们并不喜欢这种随机的执行更喜欢的是它们能够顺序的执行所以Java就引入了一种机制wait 和 notify 它们的 作用就是保证线程执行的顺序 而前面的文章中也讲过一个方法 join()也是能影响线程的执行顺序但是呢这个join只能控制线程结束的顺序而我们想要的是线程不结束也能按照我们自己规定的顺序去依次执行 wait() 使用wait时要注意一定要搭配synchronized使用否则的话就会抛出异常 调用wait时wait会做三件事 1、使当前代码的线程处于阻塞等待 2、释放当前锁 3、在其他线程中使用锁对象调用notify时或者使用带参数的wait(带有时间参数超过时间就会被唤醒)被被唤醒后然后重新尝试获取锁 可以看到当执行到wait这行代码时就一直处于了阻塞等待因为需要在其他线程中使用notify来唤醒而目前代码中没有其他线程所以就一直等待这里也需要解释一下关于调用wait() 方法因为wait方法是Object类中的方法所以所有的对象都可以调用; notify() notify 是唤醒其他使用wait进行等待的线程 1.调用notify的代码块要与调用wait的代码块都要在锁中使用并且是一个锁对象 2.使用notify进行唤醒某个线程时调用 notify() 的对象要和调用 wait() 的对象是一个 如果有多个线程在等待那么唤醒后操作系统的调度器会随机调度不会区分先后顺序 public static void main(String[] args) throws InterruptedException {Object locker new Object();Thread thread1 new Thread(() - {synchronized (locker) {System.out.println(thread1执行调用wait进行阻塞,同时释放锁);try {locker.wait();} catch (InterruptedException e) {throw new RuntimeException(e);}System.out.println(thread1执行完);}});Thread thread2 new Thread(() - {//先进行一个睡眠可以明显的观察效果try {Thread.sleep(100);//让thread1先执行进入阻塞System.out.println(thread2执行进入睡眠四秒);Thread.sleep(4000);} catch (InterruptedException e) {throw new RuntimeException(e);}synchronized (locker) {System.out.println(四秒后);System.out.println(进行唤醒);locker.notify();}});thread1.start();thread2.start();}wait() 、notify() 也可以避免“线程饿死” 举个例子 notifyAll() 如果多个线程都调用wait的话多个线程都会进入阻塞那么用notify的话就只能唤醒一个但是用notifyAll的话就可以一次性全部唤醒这里要注意一点多个线程被同时唤醒时就会同时获取锁这时候就会产生锁冲突然后只有一个线程能够成功的得到锁 wait和sleep()的区别 类不同sleep() 是Thread线程类的静态方法 wait() 是 Object类的方法调用后是否释放锁 sleep() 调用后不会有释放锁的操作 wait() 调用后会释放锁用途不同 wait 通常用于线程间交互/通信 sleep通常用于暂停执行用法不同wait() 方法被调用后线程不会自动苏醒需要别的线程调用同一个对象上的notify() 方法 或者 notifyAll() 方法 或者是使用wait(long timeout),指定一个阻塞时间超时后线程自动苏醒。sleep() 方法执行完后线程会自动苏醒。
http://www.dnsts.com.cn/news/145131.html

相关文章:

  • 无锡网站推广无锡做网站哈尔滨百度宣传推广
  • asp.net程序做的网站安全吗6表情包制作在线生成器
  • Net网站开发多少钱google 网站营销
  • 建设南大街小学网站ensp企业网络拓扑图
  • 网站开发工程师需要什么证书设计方案文本
  • 电子商务网站建设评估的指标有哪些?做网站项目流程图模板
  • 广州网站建设360元wordpress html模板下载
  • iis一个文件夹配置多个网站如何做好营销型网站建设
  • 七台河网站建设网站专题策划方案
  • 网站建设作业指导书聊城网站建设聊城
  • 购物网站开发所用技术网站正在维护中 模板
  • 上海建设监理协会网站佛山企业网站建设服务
  • 一站式做网站设计wordpress导航站主题
  • 怎么做微信钓鱼网站网站为什么备案
  • 可以做分销的淘客网站上虞市建设风机厂网站
  • 企业网站展示建站之星做出的网站不安全
  • 怎么优化网站代码深圳高端商场排名
  • 做网站应该学什么专业网站开发费用成本表
  • 桃城网站建设代理建网站为什么要租空间
  • 山西太原网站建设公司哪家好wordpress get_category
  • 门户网站建设企业济南建设设备安装有限责任公司
  • 沾益县住房和城乡建设局网站注销网站和取消接入
  • 农产品网站建设投标书网站建设项目签约仪式举行
  • 广州怎么做网站Linux网站建设总结
  • 做类似美团的网站吗网站运营经理
  • 台州网站建设公司哪个好网站开发个人所得税
  • 国家级示范职业学校 建设网站小程序制作二维码
  • 企业网站更新什么内容太原网络公司网站
  • 清丰网站建设电话学校网站开发说明书文档
  • 网址导航网站建设移动网站