public class Test {
public static void main(String[] args) {
/*(1)开辟子线程异步处理耗时操作,并传递参数 (开始)*/
MyThread myThread =new MyThread();
myThread.setParm("123");
myThread.start();
/*(1)开辟子线程异步处理耗时操作,并传递参数 (结束)*/
/*(2)主线程需要做操作(开始)*/
/*(2)主线程需要做操作(结束)*/
/*(3)主线程其他工作完毕,等待子线程的结束, 调用join系列的方法即可(可以设置超时时间) (开始)*/
try {
myThread.join();
//子线程结束后刷新
System.out.println(myThread.getValue());
} catch (InterruptedException e) {
e.printStackTrace();
}
/*(3)主线程其他工作完毕,等待子线程的结束, 调用join系列的方法即可(可以设置超时时间) (结束)*/
System.out.println("now all done.");
}
}
class MyThread extends Thread{//模拟一个子线程
@Override
public void run(){
//接收参数
//parm
//耗时操作
//请求接口,获取数据
value = Integer.parseInt(parm);
}
private String parm;
public String getParm() {
return parm;
}
public void setParm(String parm) {
this.parm = parm;
}
public int getValue(){
return value;
}
private int value = 0;
private boolean isJs=false;
public boolean isJs() {
return isJs;
}
public void setJs(boolean isJs) {
this.isJs = isJs;
}
}