下面是个简单易学的[JAVA100例]066、线程控制教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!
【 tulaoshi.com - 编程语言 】
/**(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
* pTitle: 线程控制/p
* pDescription: 实现对线程的控制,中断、挂起、恢复、停止/p
* pCopyright: Copyright (c) 2003/p
* pFilename: threadCtrl.java/p
* @version 1.0
*/
public class threadCtrl{
public static void main(String [] main){
new threadCtrl();
}
/**
*br方法说明:构造器,控制其它线程
*br输入参数:
*br返回类型:
*/
threadCtrl(){
try{
Thread tm = Thread.currentThread();
threadchild td = new threadchild();
td.start();
tm.sleep(500);
System.out.println("interrupt child thread");
td.interrupt();System.out.println("let child thread wait!");
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
//td.wait();
//td.suspend();
tm.sleep(1000);System.out.println("let child thread working");
td.fauxresume();
//td.resume();
tm.sleep(1000);
td.runflag = false;
System.out.println("main over..............");
}catch(InterruptedException ie){
System.out.println("inter main::"+ie);
}catch(Exception e){
System.out.println("main::"+e);
}
}}
/**
*br类说明:被控线程类
*/
class threadchild extends Thread {
boolean runflag = true;
boolean suspended = true;
threadchild(){
}
public synchronized void fauxresume(){
suspended = false;
notify();
}
public void run(){
while(runflag){
System.out.println("I am working..............");
try{
sleep(1000);
}catch(InterruptedException e){
System.out.println("sleep::"+e);
}
synchronized(this){
try{
if(suspended)
wait();
}catch(InterruptedException e){
System.out.println("wait::"+e);
}
}
}
System.out.println("thread over...........");
}
}
来源:http://www.tulaoshi.com/n/20160219/1614033.html
看过《[JAVA100例]066、线程控制》的人还看了以下文章 更多>>