[JAVA100例]063、线程群组[Java编程]
本文“[JAVA100例]063、线程群组[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
/**
* <p>Title: 线程组群</p>
* <p>Description: 通过线程组管理下面的多个线程.</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Filename: myThreadgroup.java</p>
* @version 1.0
*/
public class myThreadgroup extends Thread {
public static int flag=1;
ThreadGroup tgA;
ThreadGroup tgB;
/**
*<br>办法阐明:主办法
*<br>输入参数:
*<br>返回范例:
*/
public static void main(String[] args){
myThreadgroup dt = new myThreadgroup();
//声明线程组A
dt.tgA = new ThreadGroup("A");
//声明线程组B
dt.tgB = new ThreadGroup("B");
for(int i=1;i<3;i++)
new thread1(dt.tgA,i*1000,"one"+i);
for(int i=1;i<3;i++)
new thread1(dt.tgB,1000,"two"+i);
//启动本线程和全部线程组
dt.start();
}
/**
*<br>办法阐明:覆盖run办法,掌握线程组
*<br>输入参数:
*<br>返回范例:
*/
public void run(){
try{
this.sleep(5000);
this.tgB.checkAccess();
//终止线程组B,
this.tgB.stop();
System.out.println("**************tgB stop!***********************");
this.sleep(1000);
//查抄线程组A能否可以更改
this.tgA.checkAccess();
//终止线程组A
this.tgA.stop();
System.out.println("**************tgA stop!***********************");
}catch(SecurityException es){
System.out.println("**"+es);
}catch(Exception e){
System.out.println("::"+e);
}
}
}
/**
* <p>Title: 线程类</p>
* <p>Description: 通过构造器的参数,实现差别的线程</p>
* <p>Copyright: Copyright (c) 2003</p>
* <p>Filename: thread1.java</p>
* @author 杜江
* @version 1.0
*/
class thread1 extends Thread {
int pauseTime;
String name;
public thread1(ThreadGroup g,int x, String n) {
super(g,n);
pauseTime = x;
name = n;
start();
}
/**
*<br>办法阐明:必须覆盖的办法.
*<br>输入参数:
*<br>返回范例:
*/
public void run ()
{
while(true) {
try {
System.out.print(name+"::::");
this.getThreadGroup().list();//获得线程组信息
Thread.sleep(pauseTime);
} catch(Exception e) {
System.out.println(e);
}
}
}
}
以上是“[JAVA100例]063、线程群组[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |