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

哪些网站做二手挖机做网站小程序

哪些网站做二手挖机,做网站小程序,网站排名影响因素,天津环保网站建设概念5. 8锁现象 如何判断锁的是谁#xff01;锁到底锁的是谁#xff1f; 锁会锁住#xff1a;对象、Class 深刻理解我们的锁 问题1 两个同步方法#xff0c;先执行发短信还是打电话 public class dome01 {public static void main(String[] args) {Phone phone new Phon…5. 8锁现象 如何判断锁的是谁锁到底锁的是谁 锁会锁住对象、Class 深刻理解我们的锁 问题1 两个同步方法先执行发短信还是打电话 public class dome01 {public static void main(String[] args) {Phone phone new Phone(); new Thread(() - { phone.sendMs(); }).start();TimeUnit.SECONDS.sleep(1);new Thread(() - { phone.call(); }).start();} }class Phone {public synchronized void sendMs() {System.out.println(发短信);}public synchronized void call() {System.out.println(打电话);} }输出结果为发短信打电话问题2 我们再来看我们让发短信 延迟4s public class dome01 {public static void main(String[] args) throws InterruptedException {Phone phone new Phone();new Thread(() - {try {phone.sendMs();} catch (InterruptedException e) {e.printStackTrace();}}).start();TimeUnit.SECONDS.sleep(1);new Thread(() - { phone.call(); }).start();} }class Phone {public synchronized void sendMs() throws InterruptedException {TimeUnit.SECONDS.sleep(4);System.out.println(发短信);}public synchronized void call() {System.out.println(打电话);} }结果还是先发短信然后再打电话原因并不是顺序执行而是synchronized 锁住的对象是方法的调用对于两个方法用的是同一个锁谁先拿到谁先执行另外一个等待 问题三 加一个普通方法 public class dome01 {public static void main(String[] args) throws InterruptedException {Phone phone new Phone();new Thread(() - {try {phone.sendMs();} catch (InterruptedException e) {e.printStackTrace();}}).start();TimeUnit.SECONDS.sleep(1);new Thread(() - { phone.hello(); }).start();} }class Phone {public synchronized void sendMs() throws InterruptedException {TimeUnit.SECONDS.sleep(4);System.out.println(发短信);}public synchronized void call() {System.out.println(打电话);}public void hello() {System.out.println(hello);} }输出结果为hello发短信原因hello是一个普通方法不受synchronized锁的影响不用等待锁的释放 问题四 如果我们使用的是两个对象一个调用发短信一个调用打电话那么整个顺序是怎么样的呢 public class dome01 {public static void main(String[] args) throws InterruptedException {Phone phone1 new Phone();Phone phone2 new Phone();new Thread(() - {try {phone1.sendMs();} catch (InterruptedException e) {e.printStackTrace();}}).start();TimeUnit.SECONDS.sleep(1);new Thread(() - { phone2.call(); }).start();} }class Phone {public synchronized void sendMs() throws InterruptedException {TimeUnit.SECONDS.sleep(4);System.out.println(发短信);}public synchronized void call() {System.out.println(打电话);}public void hello() {System.out.println(hello);} }输出结果打电话发短信原因两个对象两把锁不会出现等待的情况发短信睡了4s,所以先执行打电话 问题五、六 如果我们把synchronized的方法加上static变成静态方法那么顺序又是怎么样的呢 1我们先来使用一个对象调用两个方法 答案是先发短信,后打电话 2如果我们使用两个对象调用两个方法 答案是还是先发短信后打电话 原因是什么呢 为什么加了static就始终前面一个对象先执行呢为什么后面会等待呢 原因是对于static静态方法来说对于整个类Class来说只有一份对于不同的对象使用的是同一份方法相当于这个方法是属于这个类的如果静态static方法使用synchronized锁定那么这个synchronized锁会锁住整个对象不管多少个对象对于静态的锁都只有一把锁谁先拿到这个锁就先执行其他的进程都需要等待 问题七 如果我们使用一个静态同步方法、一个同步方法、一个对象调用顺序是什么 public class dome01 {public static void main(String[] args) throws InterruptedException {Phone phone1 new Phone(); // Phone phone2 new Phone();new Thread(() - {try {phone1.sendMs();} catch (InterruptedException e) {e.printStackTrace();}}).start();TimeUnit.SECONDS.sleep(1);new Thread(() - { phone1.call(); }).start();} }class Phone {public static synchronized void sendMs() throws InterruptedException {TimeUnit.SECONDS.sleep(4);System.out.println(发短信);}public synchronized void call() {System.out.println(打电话);}public void hello() {System.out.println(hello);} }输出结果打电话发短信原因因为一个锁的是Class类的模板一个锁的是对象的调用者。所以不存在等待直接运行。 问题八 如果我们使用一个静态同步方法、一个同步方法、两个对象调用顺序是什么 public class dome01 {public static void main(String[] args) throws InterruptedException {Phone phone1 new Phone();Phone phone2 new Phone();new Thread(() - {try {phone1.sendMs();} catch (InterruptedException e) {e.printStackTrace();}}).start();TimeUnit.SECONDS.sleep(1);new Thread(() - { phone2.call(); }).start();} }class Phone {public static synchronized void sendMs() throws InterruptedException {TimeUnit.SECONDS.sleep(4);System.out.println(发短信);}public synchronized void call() {System.out.println(打电话);}public void hello() {System.out.println(hello);} }输出结果打电话发短信原因两把锁锁的不是同一个东西 小解 new 出来的 this 是具体的一个对象 static Class 是唯一的一个模板
http://www.dnsts.com.cn/news/247004.html

相关文章:

  • 国税网站建设现状网站开发吃香吗
  • 万能应用商店下载烟台seo网站诊断
  • 西安建设局网站地址校园活动策划案的范文
  • php+mysql 网站建设免费网站创建工具
  • 如何建设公司网站上海小程序服务商
  • 成都网站建设成都app开发设计招聘信息
  • 保定网站建设找谁网络设置网址
  • 三原做网站移动端网站模板怎么做的
  • win2008 iis建网站合肥网站建设搜王道下拉
  • 网站百科源码wordpress品牌分类
  • 思乐网站建设推广营销平台排名
  • 小网站开发成本中文域名最新资讯
  • 虚拟机做局域网网站服务器配置徐州建设工程交易网平台官网
  • 非凡网站建设 新三板淄博网络推广公司哪家好
  • 网站添加备案四川建筑人员证书查询官网
  • 网站建设投资规划市场调研报告范文模板word
  • 重庆cms建站模板网页制作与网站建设完全学习手册
  • 网站开发的分工和流程会讯通2022官方下载
  • 网站的下载链接怎么做云南网站建设企业
  • 百度大全网站网站收录变少
  • 网站换程序相城网页设计
  • 做同城网站需要哪些手续做网站时无法上传图片
  • 自己可以做英文网站么软件培训机构
  • 做社交的招聘网站中国行业网站
  • 化妆品设计网站下载app赚钱的平台
  • 做网站需要了解的东西中国营销传播网手机版
  • 哈尔滨大型网站建设电话新闻最新北京消息今天
  • 网站取源用iapp做软件网站建设对电子商务的作用
  • 移动公司营销网站设计做网络维护的工资高吗
  • 祁东县建设局网站淄博免费网站建设哪家好