java问题,main方法中开启了一组线程,然后希望这组线程全执行完之后再继续main方法向下进行

2025年03月01日 17:38
有2个网友回答
网友(1):

public class THread 
{
static C c=new C();
//flag用来标志子线程执行结束
static boolean flag=false;

public static void main(String []arg)
{

c.setvalue(12);
System.out.println("子线程执行之前value的值是:"+c.getvalue());
System.out.println("执行子线程");


Thread mythread = new MyThread(c);
mythread.start();

//等待子线程执行结束
while(!flag) Thread.sleep(1000);
System.out.println("子线程执行之后value的值是:"+c.getvalue());
}
 
public static void callback()
{
System.out.println("子线程执行结束");
flag=true;
}
}
 
 
class C
{
private int value=0;
public int getvalue()
{
return value;
}
public void setvalue(int v)
{
this.value=v;
}
}
 
 
 
class MyThread extends Thread
{
public MyThread(C cc)
{
this.cc=cc;
}
private C cc;
@Override
public void run() 
{
cc.setvalue(20);
THread.callback();//回调
}
}

网友(2):

线程在进程环境中运行,如果main函数退出,进程也就结束了,线程自然也结束了