Java编程有哪些实例?
class NewThread extends Thread{
boolean suspendFlag;
NewThread(String threadname, ThreadGroup tgOb){
super(tgOb, threadname);
System。 out。println("New thread: "+this);
suspendFlag = false;
start();
}
public void run(){
try{
for(int i=5;i>0;i--){
System。 out。println(getName()+": "+i);
Thread。slee...全部
class NewThread extends Thread{
boolean suspendFlag;
NewThread(String threadname, ThreadGroup tgOb){
super(tgOb, threadname);
System。
out。println("New thread: "+this);
suspendFlag = false;
start();
}
public void run(){
try{
for(int i=5;i>0;i--){
System。
out。println(getName()+": "+i);
Thread。sleep(1000);
synchronized(this){
while(suspendFlag){
wait();
}
}
}
}catch(Exception e){
System。
out。println("Exception in "+getName());
}
System。out。println(getName()+"exiting。");
}
void mysuspend(){
suspendFlag = true;
}
synchronized void myresume(){
suspendFlag = false;
notify();
}
}
public class test {
public static void main(String[] args) {
// TODO Auto-generated method stub
ThreadGroup groupA = new ThreadGroup("Group A");
ThreadGroup groupB = new ThreadGroup("Group B");
NewThread ob1 = new NewThread("one", groupA);
NewThread ob2 = new NewThread("Tow", groupA);
NewThread ob3 = new NewThread("three", groupB);
NewThread ob4 = new NewThread("Four", groupB);
System。
out。println("Suspending Group A");
Thread tga[] = new Thread[groupA。activeCount()];
groupA。enumerate(tga);
for(int i=0;i
((NewThread)tga[i])。
mysuspend();
}
try {
Thread。sleep(4000);
}catch(InterruptedException e){
System。out。println("Main thread interrupted。
");
}
System。out。println("Resuming Group A");
for(int i=0;i
((NewThread)tga[i])。myresume();
}
try {
System。
out。println("Waiting for threads to finish。");
ob1。join();
ob2。join();
ob3。join();
ob4。join();
}catch (Exception e){
System。
out。println("Exception in Main thread");
}
System。out。println("Main thread exiting。");
}
}。收起