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

企业做国际站哪个网站好网络营销网

企业做国际站哪个网站好,网络营销网,电子商务网站开发应遵循的基本原则,java软件工程师暂停线程意味着此线程还可以恢复运行。在Java多线程中,可以使用suspend()方法暂停线程,使用resume()方法恢复线程的执行。 suspend与resume方法的使用 示例代码如下: public class MyThread extends Thread{private long i 0;Overridepub…

  暂停线程意味着此线程还可以恢复运行。在Java多线程中,可以使用suspend()方法暂停线程,使用resume()方法恢复线程的执行。

suspend与resume方法的使用

示例代码如下:

public class MyThread extends Thread{private long i = 0;@Overridepublic void run() {while(true){i++;}}public long getI() {return i;}public void setI(long i) {this.i = i;}
}
public class Run {public static void main(String[] args) {try{MyThread t = new MyThread();t.start();Thread.sleep(5000);//A段t.suspend();System.out.println("A= " +System.currentTimeMillis()+" i="+t.getI());Thread.sleep(5000);System.out.println("A= " +System.currentTimeMillis()+" i="+t.getI());//B段t.resume();Thread.sleep(5000);//C段t.suspend();System.out.println("B= " +System.currentTimeMillis()+" i="+t.getI());Thread.sleep(5000);System.out.println("B= " +System.currentTimeMillis()+" i="+t.getI());}catch(Exception e){e.printStackTrace();}}
}

运行结果:
这里写图片描述
从控制台的打印的时间来看,线程的确被暂停了,而且还恢复成运行的状态。

suspend与resume方法的缺点-独占

  在使用suspend与resume方法时,如果使用不当,极易造成公共的同步对象独占,使其他线程无法访问公共同步对象。示例代码如下:

public class SynchronizedObject {synchronized public void printString(){System.out.println("begin");if(Thread.currentThread().getName().equals("a")){System.out.println("a线程永远 suspend!");Thread.currentThread().suspend();}System.out.println("end");}
}
public class Run {public static void main(String[] args) throws InterruptedException {SynchronizedObject s = new SynchronizedObject();Thread t1 = new Thread(){@Overridepublic void run() {s.printString();}};t1.setName("a");t1.start();Thread.sleep(1000);Thread t2 = new Thread(){@Overridepublic void run() {System.out.println("t2 启动了,但进入不printString()方法!");s.printString();}};t2.start();}
}

执行结果如下:
这里写图片描述
还有另外一种独占锁的情况,创建如下代码:

public class MyThread extends Thread{private long i = 0;@Overridepublic void run() {while(true){i++;}}
}
public class Run2 {public static void main(String[] args) throws InterruptedException {MyThread t = new MyThread();t.start();Thread.sleep(1000);t.suspend();System.out.println("main end");}
}

执行结果如下:
这里写图片描述
但是如果将代码改为如下:

public class MyThread extends Thread{private long i = 0;@Overridepublic void run() {while(true){i++;System.out.println("i="+i);}}
}

则输入结果如下:
这里写图片描述
控制台并不打印main end。出现这样情况的原因是,当程序运行到println()方法内部停止,同步锁未被释放。在上面也有讲过println()方法内部是同步的。这样就导致PrintStream对象的println()方法一直呈”暂停”状态,并且“锁未释放“,所有main线程的println迟迟不能打印。

suspend与resume方法的缺点-不同步

  在使用suspend与resume方法时也很容易出现因为线程的暂停而导致数据不同的情况。示例代码如下:

public class MyObject {private String username = "1";private String password = "11";public void setValue(String u,String p){this.username = u;if(Thread.currentThread().getName().equals("a")){System.out.println("停止a线程");Thread.currentThread().suspend();}this.password = p;}public void printUserNamePassword(){System.out.println(username+ " "+ password);}
}
public class Run {public static void main(String[] args) throws InterruptedException {MyObject m = new MyObject();Thread t1 = new Thread(){@Overridepublic void run() {m.setValue("a", "aa");}};t1.setName("a");t1.start();Thread.sleep(1000);Thread t2 = new Thread(){@Overridepublic void run() {m.printUserNamePassword();}};t2.start();}
}

运行结果如下:
这里写图片描述

http://www.fp688.cn/news/145662.html

相关文章:

  • 手机版网站开发教程百度官方下载
  • 转 如何用java做网站百度站长工具怎么关闭教程视频
  • 北京网站建设及app网站建立具体步骤是
  • 未来做啥网站能致富企业网站官网
  • 公司网站建设深圳海外seo推广公司
  • 哪里建网站好国外服务器免费ip地址
  • 做网站如何获利推广产品的方法
  • 公安分局网站模板市场营销平台
  • 网站开发的毕业设计题目免费推广自己的网站
  • 苏州集团网站制作开发seo优化排名是什么
  • 网站做多久流量成都关键词优化平台
  • 邵阳网站建设的话术网络营销工作内容
  • 网站网格哈尔滨最新
  • 太原网站建设价格套餐太原网站快速排名优化
  • 长沙优化网站价格泰安seo
  • 顺德高端网站石家庄网络推广平台
  • 网络公司 给 客户网站备案百度认证平台
  • 公司网站 开源数据分析师报考条件
  • 如何做商业网站推广甘肃seo技术
  • 电商企业网站源码黄石市seo关键词优化怎么做
  • 网站建设 系统 排名电商培训机构靠谱吗
  • 网站为什么需要备案长尾词挖掘
  • 装修平台网站排名前十名有哪些jmr119色带
  • 手机上可以做网站吗网站交易
  • word怎么做网站百度快照客服电话
  • 做化妆品网站的意义杭州新站整站seo
  • 硅云买域名做网站百度公司电话热线电话
  • wordpress评论时选填昆明百度搜索排名优化
  • wordpress josn查询东莞网络优化公司
  • 网站排名突然下降解决技术培训学校机构