java线程暂停和回复类
2014-05-29 18:07
267 查看
package cn.edu.henu.test; /** * 线程暂停,恢复 * * @author Administrator * */ public class ThreadTest implements Runnable { private String name; private Thread t; private boolean suspendFlag = false;// 控制线程的执行 public ThreadTest(String name) { this.name = name; t = new Thread(this, name); System.out.println("new Thread: " + t); t.start(); } public void run() { try { for (int i = 0; i < 6; i++) { System.out.println(name + ": " + i); Thread.sleep(500); synchronized (this) { while (suspendFlag) wait(); } } } catch (InterruptedException e) { e.printStackTrace(); } System.out.println(name + " exited"); } /** * 线程暂停 */ public void setSuspendFlag() { this.suspendFlag = true; } /** * 唤醒线程 */ public synchronized void setResume() { this.suspendFlag = false; notify(); } /** * 返回线程名 * * @return name */ public String getName() { return name; } public Thread getT() { return t; } /** * 测试 ThreadSuspend类 */ public void testSuspend() { ThreadTest one = new ThreadTest("one"); ThreadTest two = new ThreadTest("two"); try { Thread.sleep(1000); System.out.println("suspending thread " + one.getName()); one.setSuspendFlag(); Thread.sleep(1000); System.out.println("resuming thread " + one.getName()); one.setResume(); System.out.println("suspending thread " + two.getName()); two.setSuspendFlag(); Thread.sleep(1000); System.out.println("resuming thread " + two.getName()); two.setResume(); one.getT().join(); two.getT().join(); } catch (InterruptedException e) { e.printStackTrace(); } System.out.println("main thread exit"); } public static void main(String[] args) { ThreadTest tt = new ThreadTest("123"); tt.testSuspend(); } }
相关文章推荐
- Java开发常用代码----线程暂停(让程序停止一段时间)
- Java 线程暂停与继续
- java线程研究---(4)暂停Thread:sleep
- java 线程的开始、暂停、继续
- Java 线程暂停与继续
- Java线程暂停
- java多线程基础(2)-调度方式之暂停当前线程方式1-阻塞
- java多进程 -CD7-孙鑫-(1)-程序/进程/线程/设置后台线程/将当前线程暂停
- java线程暂停与继续
- java线程的暂停和恢复 suspend 和resume
- Java线程暂停一段时间之后继续执行的实现方法
- java多线程程序设计二、线程返回值,优先级以及暂停的问题
- Android中的java层的线程暂停和恢复实现
- java 线程的暂停与开始
- Java线程的暂停与继续
- java 线程的暂停与开始
- Java 线程暂停与继续
- 2010-05-23 14:48 Java(6)线程暂停、恢复
- java线程停止、暂停和恢复等状态的控制
- java多线程---停止、暂停一个线程