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

免费推广网站教程怎么看网站是动态还是静态

免费推广网站教程,怎么看网站是动态还是静态,wordpress 计划任务,温州网站开发风格synchronized 到底锁的是谁#xff1f; 修饰方法#xff1a; 1、静态方法 2、非静态方法#xff0c;锁住的是方法的调用者 修饰代码块 1、synchronized修饰非静态方法 锁住的是方法的调用者 锁住实例 流程#xff1a; 1、线程A先拿到synModel对象然后给这个 synModel对象…synchronized 到底锁的是谁 修饰方法 1、静态方法 2、非静态方法锁住的是方法的调用者 修饰代码块 1、synchronized修饰非静态方法 锁住的是方法的调用者 锁住实例 流程 1、线程A先拿到synModel对象然后给这个 synModel对象加上锁–接着等3s执行输出结束 2、线程B等1s后运行此时 synModel对象 已经被 A拿到所以他只能等待 等3s后线程A释放 synModel对象然后获取对象执行输出结束 public class SynchronizedTest {public static void main(String[] args) throws InterruptedException {SynModel synModel new SynModel();new Thread(()-{synModel.fun1();},A).start();TimeUnit.SECONDS.sleep(1);new Thread(()-{synModel.fun2();},B).start();} } class SynModel{public synchronized void fun1() {try {TimeUnit.SECONDS.sleep(3);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(1...);}public synchronized void fun2(){System.out.println(2...);} }情况1 不会排队 注意下面这种情况是不会排队的因为锁的是实例。 public class SynchronizedTest {public static void main(String[] args) throws InterruptedException {SynModel synModel1 new SynModel();SynModel synModel2 new SynModel();new Thread(()-{synModel1.fun1();},A).start();TimeUnit.SECONDS.sleep(1);new Thread(()-{synModel2.fun2();},B).start();} } class SynModel{public synchronized void fun1() {try {TimeUnit.SECONDS.sleep(3);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(1...);}public synchronized void fun2(){System.out.println(2...);} } 2 、修饰静态方法 只是把SynModel中的方法变成了静态的注意此时锁住的是 SynModel这个类不是锁的实例。会排队 先输出1后输出2 public class SynchronizedTest {public static void main(String[] args) throws InterruptedException {SynModel synModel1 new SynModel();SynModel synModel2 new SynModel();new Thread(()-{synModel1.fun1();},A).start();TimeUnit.SECONDS.sleep(1);new Thread(()-{synModel2.fun2();},B).start();} } class SynModel{public static synchronized void fun1() {try {TimeUnit.SECONDS.sleep(3);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(1...);}public static synchronized void fun2(){System.out.println(2...);} }3、代码块 synchronized (this){}锁住的是SynModel这个对象。可以看到循环的五次都是同一个SynModel对象。所以五个线程 某个时刻只能有一个线程拿到这个SynModel对象 这个资源。 每个线程会依次输出start end public class SynchronizedTest {public static void main(String[] args) {final SynModel synModel new SynModel();for (int i 0; i 5; i) {synModel.fun3();}} } class SynModel{public void fun3(){synchronized (this){System.out.println(start);try {TimeUnit.SECONDS.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(end);}}}如果把对象放在循环里面此时就是五个线程拿五个资源了。并没有去争夺资源 public class SynchronizedTest {public static void main(String[] args) {for (int i 0; i 5; i) {final SynModel synModel new SynModel();new Thread(()-{synModel.fun3();}).start();}} } class SynModel{public void fun3(){synchronized (this){System.out.println(ThreadName:Thread.currentThread().getName()start);try {TimeUnit.SECONDS.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(ThreadName:Thread.currentThread().getName()end);}}} 锁住SynModel.class 此时五个线程就会竞争因为锁住的是 SynModel这个类而不是实例对象了。 public class SynchronizedTest {public static void main(String[] args) {for (int i 0; i 5; i) {final SynModel synModel new SynModel();new Thread(()-{synModel.fun3();}).start();}} } class SynModel{public void fun3(){synchronized (SynModel.class){// this SynModel.classSystem.out.println(ThreadName:Thread.currentThread().getName()start);try {TimeUnit.SECONDS.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}System.out.println(ThreadName:Thread.currentThread().getName()end);}}}
http://www.dnsts.com.cn/news/227109.html

相关文章:

  • 东莞网站关键词杭州定制网站开发
  • 北京附近做网站的公司有哪些找南昌seo服务商
  • 好的平面设计网站有哪些网站开发与电子商务
  • 网站建设维护成百度上怎么制作自己的网站
  • 青岛网站建设¥青岛博采网络在哪个网站做整形
  • 手机网站开发者模式网站所有者查询
  • 公司网站建设调研问卷如何建设酒店预订系统网站
  • 网站服务器怎么选择wordpress用户数据表
  • 浙江网站建设哪里好网站名称创意大全
  • 网站建设结构图安徽省建设工程专业技术资格评审标准条件
  • 注册网站平台网站开发 认证
  • 江苏丹阳建设公司网站中国五大网络运营商
  • 浙江做网站平台的科技公司普通人做电商要多少钱
  • 自动外链工具seo关键词外包公司
  • 溧阳建设局网站ae模板下载网站推荐
  • 谁能帮忙做网站备案官网建设费用入什么科目
  • 企业网站系统设计新手学做网站pdf下载
  • 潍坊建网站的现货交易十大平台
  • 网站备案 失败手机网站模板安装方法
  • 苏州网站建设老板wordpress json登陆
  • php+mysql 2012也买酒商城网站源码手机百度网址大全首页
  • 超市网站源码网站开发工程师前景
  • 荆门网站建设 金键盘怎么做网页会议邀请函
  • 三网合一网站建设程序12580黄页推广
  • sz住房和城乡建设部网站做网站收费标准
  • 无锡微信网站开发手机营销型网站制作
  • 做网站怎么样引流微信做购物网站抽多少佣
  • 自己搭建环境建设网站京东网站设计分析
  • 杭州学编程哪里的培训机构好seo排名优化推广
  • 网站开发要先买服务器吗有初中生做的网站吗