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

公司的网站建设费做什么费用青岛城阳网站设计

公司的网站建设费做什么费用,青岛城阳网站设计,网上商店有哪些,加盟项目2023推荐问题的由来#xff1a; 看到这样一个面试题#xff1a; ? 1 2 3 4 5 6 //下列两个方法有什么区别 public synchronized void method1(){} public void method2(){ synchronized (obj){} } synchronized用于解决同步问题#xff0c;当有多条线程同时访问共享数据时 看到这样一个面试题 ? 1 2 3 4 5 6 //下列两个方法有什么区别 public synchronized void method1(){}   public void method2(){  synchronized (obj){} } synchronized用于解决同步问题当有多条线程同时访问共享数据时如果进行同步就会发生错误Java提供的解决方案是只要将操作共享数据的语句在某一时段让一个线程执行完在执行过程中其他线程不能进来执行可以。解决这个问题。这里在用synchronized时会有两种方式一种是上面的同步方法即用synchronized来修饰方法另一种是提供的同步代码块。 这里总感觉怪怪的这两种方法有什么区别呢基础学得不好于是就动手做了个简单的测试代码如下 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 public class SynObj {   public synchronized void methodA() {     System.out.println(methodA.....);     try {       Thread.sleep(5000);     } catch (InterruptedException e) {       e.printStackTrace();     }   }     public void methodB() {     synchronized(this) {       System.out.pritntln(methodB.....);     }   }     public void methodC() {     String str sss;     synchronized (str) {       System.out.println(    methodC.....);     }   } } ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 public class TestSyn {   public static void main(String[] args) {     final SynObj obj new SynObj();       Thread t1 new Thread(new Runnable() {       Override       public void run() {         obj.methodA();       }     });     t1.start();       Thread t2 new Thread(new Runnable() {       Override       public void run() {         obj.methodB();       }     });     t2.start();       Thread t3 new Thread(new Runnable() {       Override       public void run() {         obj.methodC();       }     });     t3.start();   } } 这段小代码片段打印结果如下 ? 1 2 3 4 methodA..... methodC..... //methodB会隔一段时间才会打印出来 methodB..... 这段代码的打印结果是methodA…..methodC…..会很快打印出来methodB…..会隔一段时间才打印出来那么methodB为什么不能像methodC那样很快被调用呢 在启动线程1调用方法A后接着会让线程1休眠5秒钟这时会调用方法C注意到方法C这里用synchronized进行加锁这里锁的对象是str这个字符串对象。但是方法B则不同是用当前对象this进行加锁注意到方法A直接在方法上加synchronized这个加锁的对象是什么呢显然这两个方法用的是一把锁。 *由这样的结果我们就知道这样同步方法是用什么加锁的了由于线程1在休眠这时锁还没释放导致线程2只有在5秒之后才能调用方法B由此可知两种加锁机制用的是同一个锁对象即当前对象。 另外同步方法直接在方法上加synchronized实现加锁同步代码块则在方法内部加锁很明显同步方法锁的范围比较大而同步代码块范围要小点一般同步的范围越大性能就越差一般需要加锁进行同步的时候肯定是范围越小越好这样性能更好*。 感谢阅读希望能帮助到大家谢谢大家对本站的支持
http://www.zqtcl.cn/news/90993/

相关文章:

  • 代理记账注册公司图片商丘网站seo
  • 北京网站建设推荐安徽秒搜科技河南建设工程信息网招标公告
  • 网站开发项目实训总结微网站设计
  • 山东济南建网站公司东莞排名seo网站关键词优化
  • 找网站建设企业培训机构哪家最好
  • 建什么类型个人网站比较好开发高端网站建设价格
  • 网站开发 卡片网站建设合同需要印花税
  • 手机端网站图片上传如何做新公司取名字大全免费
  • vue.js网站建设智慧团建官方网站登录入口
  • 江宁区建设局网站网站建设 美食站点
  • 哈尔滨松北区建设局网站唐山企业网站模板建站
  • 服装公司网站策划书外网设计灵感网站
  • 学做婴儿衣服网站windows 建网站
  • 银饰品网站建设规划策划书wordpress近义词搜索
  • 淘宝联盟网站推广位怎么做网站开发合同支付
  • 有没有一些有试卷做的网站ios开发教程
  • 网站备案服务类型红酒公司网站源码
  • 南宁网站优化推广方案4000套微信小游戏源码
  • 什么犁网站做淘宝门头阿里云 wordpress建站
  • 免费网站建设凡科设计师的网站有哪些
  • 微信公众号运营方法seo 排名 优化
  • 深圳做营销网站设计淘宝网官方网站免费下载
  • 菏泽住房和城乡建设厅网站企业查询官网免费查询一下
  • 青海网站建设公司电话163 com邮箱注册
  • 建设法律法规文本查询网站自由设计师是什么意思
  • 分站城市网站如何做seo上海网站建设选缘魁
  • 荆门网站建设电话如何制作网页链接二维码
  • 邳州微网站开发unsplash素材网站
  • 大型网站技术架构wordpress 换域名
  • 网站建设 首选百川互动织梦网站数据下载