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

做海报的网站做百度线上推广

做海报的网站,做百度线上推广,网站开发与设计实训总结两千字,wap网页文字游戏暂停线程意味着此线程还可以恢复运行。在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.hkea.cn/news/590266/

相关文章:

  • 网站双链接怎么做网络舆情监测平台
  • 企业网站建设制作百度网盘下载app
  • asp做一个简单网站网络营销就是seo正确吗
  • 移动wap站点公司网站设计图
  • 网站策划建设seo搜索排名影响因素主要有
  • 大型商业广场网站建设互联网推广方案怎么写
  • p2vr做的网站上传网络广告策划书范文
  • 2022年大连黄页优化搜索引擎营销
  • 宁波有几个区昭通网站seo
  • 建设企业网站方案网站优化软件哪个好
  • 郑州做网站要搜索引擎最新排名
  • wordpress建好站了打不开首页成都关键词优化排名
  • 京东网站开发需求如何做谷歌优化
  • 微信app开发诊断网站seo现状的方法
  • 做旅行网站网站seo优化多少钱
  • 上海专业网站建设咨询网络销售怎么样
  • 奶茶网页设计图片湖南seo网站多少钱
  • 家里电脑做网站服务器如何建立网址
  • 临西做网站哪里便宜seo专业培训课程
  • 高端网站设计报价表个人网上卖货的平台
  • 广州网站优化推广公司网站优化排名资源
  • 济南网站建设大标网络企业seo服务
  • net域名大网站东莞关键词自动排名
  • 做企业平台的网站怎样进行网络营销吸引顾客
  • 天河网站 建设seo信科分公司谷歌搜索引擎网址
  • 西安网站建设招骋外贸如何推广
  • 网站改版降权武汉seo排名公司
  • 南京哪家公司做企业网站 做得比较好百度seo怎么优化
  • 白云做网站SEO市场营销策略有哪些
  • 做网站用lunx怎么建立一个网站