Java多线程-一个简单的线程,实现挂起和恢复的功能.docVIP

  • 4
  • 0
  • 约3.06千字
  • 约 5页
  • 2018-05-31 发布于河南
  • 举报

Java多线程-一个简单的线程,实现挂起和恢复的功能.doc

Java多线程-一个简单的线程,实现挂起和恢复的功能 public class MainApp { public static void main(String[] args) { try { MySprite dog = new MySprite(狗狗); MySprite cat = new MySprite(喵喵); MySprite pig = new MySprite(猪猪); System.out.println(--- start sprites ); dog.start(); cat.start(); pig.start(); Thread.sleep(500); System.out.println(--- suspend dog ); dog.suspend(); System.out.println(--- main thread do something ); Thread.sleep(500); System.out.println(--- resume dog ); dog.resume(); Thread.sleep(500); System.out.println(--- end dog ); dog.stop(); System.out.println(--- main thread do something ); Thread.sleep(500); System.out.println(--- end other sprites ); cat.stop(); pig.stop(); Thread.sleep(100); System.out.println(--- exit programe.); } catch (InterruptedException e) { e.printStackTrace(); } } } 线程实现 public class MySprite implements Runnable { /* * 线程用变量 */ private boolean running = false; private boolean waiting = false; private Thread thread; /* * Business 变量 */ private String name; public MySprite(String name) { this.name = name; this.thread = new Thread(this); } /** * 启动线程 */ public void start() { running = true; thread.start(); } /** * 挂起线程 */ public void suspend() { if (waiting) { // 是挂起状态则直接返回 return; } synchronized (this) { this.waiting = true; } } /** * 恢复线程 */ public void resume() { if (!waiting

文档评论(0)

1亿VIP精品文档

相关文档