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

网站开发项目流程设计备案的网站程序上传

网站开发项目流程设计,备案的网站程序上传,长春精神文明建设网站,南京公司网站建设怎么收费#x1f389;#x1f389;#x1f389;点进来你就是我的人了 博主主页#xff1a;#x1f648;#x1f648;#x1f648;戳一戳,欢迎大佬指点!人生格言#xff1a;当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔#x1f9be;点进来你就是我的人了 博主主页戳一戳,欢迎大佬指点!人生格言当你的才华撑不起你的野心的时候,你就应该静下心来学习! 欢迎志同道合的朋友一起加油喔 目标梦想进大厂立志成为一个牛掰的Java程序猿虽然现在还是一个嘿嘿谢谢你这么帅气美丽还给我点赞比个心 目录 一概念  1用处 2)wait方法 3)notify 方法 二.标准代码示例 1.代码实现内容流程描述 2.代码实现 三. wait()和sleep()的区别 一概念  1用处 线程等待wait()和通知notify()主要用于多线程之间的通信协作而且这两个方法都是属于Object类说明任何对象都可以调用这两个方法。 当在一个实例对象上调用了wait()方法之后当前线程就会在这个对象上等待。直到另外的线程调用了该对象的notify()方法处于等待状态的线程才得以继续进行。 这样多线程之间就可以用这两个方法进行通信协作了。 下面引入一张图加深理解 2)wait方法 wait() 方法是 Object 类的一个方法因此 Java 中所有的类都默认继承了该方法因此都能使用该方法。 但是这个wait() 方法其实是一个 final 方法所以不可以被子类重写子类只能使用 Object 的实现。 wait() 方法在调用时当前线程必须要先获得该 wait() 方法所在对象的监视器锁如果没有获取对象的监视器锁直接调用 wait() 方法会抛出 IllegalMonitorStateException 异常。 而所谓的获取对象的监视器锁说白了就是共享对象的控制权。 当在一个实例对象上调用了wait()方法之后当前线程就会释放掉它获取到的锁资源将锁资源让给其他线程去竞争然后当前线程会被阻塞挂起进入等待状态此时线程的状态为 WAITING 状态 只有当有其他线程调用该共享对象的 notify() 方法或者 notifyAll() 方法时当前被阻塞挂起的线程就可能会被唤醒然后进入就绪状态重新再去竞争锁资源。 3)notify 方法 notify() 方法也是一个 Object 类的方法所有 Java 类也都默认继承了该方法都可以调用该方法这个方法也是被 final 修饰的因此也不可被子类重写子类只能使用 Object 的实现。 notify() 方法和 wait() 方法类似都是需要先获取当前线程的共享对象监视器如果没有也会抛出 IllegalMonitorStateException 异常。 notify 会随机的唤醒被阻塞到该共享对象上的一个线程而 notifyAll() 则会唤醒所有在该共享对象上被wait 方法阻塞而陷入等待状态的线程。 注意 调用wait()、notify()方法时当前线程必须要成功获得锁必须写在同步代码块锁中否则将抛出异常。只对当前单个共享变量生效多个共享变量需要多次调用wait()方法。如果线程A调用wait()方法后处于堵塞状态时其他线程中断在其他线程调用A.interrupt()方法A线程则会抛出InterruptExcption异常而返回并终止。 理论内容就这些下面将上述内容用实例展示给大家并一步一步带着大家分析和实现这两个方法多线程中这两个方法会让程序跳跃执行所以一定要搞清楚代码的执行流程。 二.标准代码示例 1.代码实现内容流程描述 创建两个线程t1和t2。让Thread0执行wait()方法。此时Thread1得到锁再让Thread1执行notify()方法释放锁。此时Thread0得到锁Thread0会自动从wait()方法之后的代码继续执行。 通过上述流程我们就可以清楚的看到wait()和notify()各自是怎么工作的了也可以知道两者是怎么配合的了。 2.代码实现 public class ThreadDemo4 {public static void main(String[] args) throws InterruptedException {Object o new Object();Thread Thread0 new Thread(() - {synchronized (o) {System.out.println(wait方法开始);try {// 共享对象调用wait方法会让该线程释放锁o.wait();} catch (InterruptedException e) {e.printStackTrace();}System.out.println(wait方法结束);}});Thread0.start();//此处睡眠1秒保证线程Thread0先执行Thread.sleep(1000);Thread Thread1 new Thread(() - {synchronized (o) {System.out.println(notify方法开始);//线程共享对象通过调用notify()方法释放锁并通知其他线程可以得到锁o.notify();System.out.println(notify方法结束);}});Thread1.start();} }从执行的结果中要明白线程的执行顺序 Thread0调用了wait()方法后会释放掉对象锁并暂停执行后续代码即从wait()方法之后到run()方法结束的代码都将立即暂停执行这就是wait()方法在线程中的作用。CPU会将对象锁分配给一直等候的Thread1线程Thread1执行了notify()方法后会通知其他正在等待线程Thread0得到锁但会继续执行完自己锁内的代码之后才会交出锁的控制权。因为本例只有两个线程所以系统会在Thread1交出对象锁控制权后Synchronized代码块中代码全部执行完后把锁的控制权给Thread0若还有其他线程谁得到锁是随机的完全看CPU心情Thread0会接着wait()之后的代码继续执行到Synchronized代码块结束将对象锁的控制权交还给CPU。三. wait()和sleep()的区别 1、相同点 sleep()和wait()都可以暂停线程的执行。2、不同点所在类不同 sleep()是Thread类的静态方法。 wait()是Object类的方法。 锁释放不同 sleep()是不释放锁的。 wait()是释放锁的。 用途不同 sleep()常用于一定时间内暂停线程执行。 wait()常用于线程间交互和通信。 用法不同 sleep()方法睡眠指定时间之后线程会自动苏醒。 wait()方法被调用后可以通过notify()或notifyAll()来唤醒wait的线程。
http://www.w-s-a.com/news/322496/

相关文章:

  • wordpress构建自定义设置页面seo培训学什么
  • 延安有哪些做网站的公司如何建设网站?
  • 网站建设者属于广告经营者吗网站管理程序
  • 网站内容优化方法深圳市宝安区怎么样
  • 视频网站开发视频公司网站制作多少钱
  • 单页简洁手机网站模板购物软件
  • 素材网站官网低价网站建设费用预算
  • 苏州网站设计kgwl个人网站有什么外国广告做
  • 浙江省网站建设报价简单网站开发工具
  • 物流网站的建设wordpress电视直播插件下载
  • 简述网站开发流程青岛做网站建设价格低
  • 网站开发的业务需求分析杭州推广公司
  • 网站建设技术实现难点app开发需要哪些软件
  • 响水建设局网站做网站需要会哪些知识
  • 企业制作企业网站个人网站可以做百度竞价
  • 做网站找投资人wordpress 5 主题教程
  • 做国外网站汇款用途是什么wordpress图片主题晨曦
  • 网站设计跟网站开发区别为什么网站需要维护
  • m 的手机网站怎么做网络推广方式和方法
  • wordpress图片自动轮播插件seo门户网站建设
  • 制作商业网站传奇网页游戏排名
  • 网站免费推广方案长沙房地产网站设计
  • 济南网站建设cnwenhui中交路桥建设网站
  • 韶关网站开发网站建设任务分解
  • 网站建设核心点阿根廷网站后缀
  • 哪些网站可以做招商广告语学校官网页面设计
  • 十堰城市建设网站网站开发流程宜春
  • 内江网站建设郑州网站优化外包
  • 土地流转网站建设项目云南抖音推广
  • 建设银行网站无法打开2021年有没有人给个网站