如何在一个线程结束后,紧接着执行其他操作?
因为需要这个线程中初始化了某个数据,接下来的操作需要用到这个数据。。
因为需要这个线程中初始化了某个数据,接下来的操作需要用到这个数据。。
解决方案 »
- Java写的文本显示下划线如何实现
- 用Java写代码
- apllet 在使用 KeyListener 时 的问题 难道是Applet不是用KeyListener做键盘事件?
- 运算符的新手问题
- 各位老师,嘿嘿,不好意思,俺想在我的网站链接上,卖弄一下STRUTS技术,请看,感谢帮忙
- 一个恶心的异常,把我恶心的不行,请各位高手指点一下,谢谢!!~三百里加急~!~
- 急急急!!!!!!!!
- 高手:我看不懂了
- 我想写个小PK程序,但不知道怎么设计,求帮忙
- 在多线程访问list中出现的一个问题。
- 新手 编译提示Picked up JAVA_TOOL_OPTIONS什么意思
- 实现一个简单的自发自收信息的功能的程序,但运行出错,不知道哪里出错,求大虾帮忙纠正
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.concurrent.TimeUnit;public class Test {public static void main(String[] args) throws Exception{
List<Task> list = new ArrayList<Task>();
Task temp = null;
for (int i = 0; i < 4; i++) {
temp = new Task(i * 2, "第" + i + "线程");
list.add(temp);
temp.start();
}
while (!list.isEmpty()) {
Iterator<Task> iterator = list.iterator();
while (iterator.hasNext()) {
temp = iterator.next();
if (!temp.isAlive()) {
iterator.remove();
}
}
TimeUnit.SECONDS.sleep(1);
}System.out.println("所有任务执行完毕开始跳转");
}
}class Task extends Thread {
private int sleepTime;
private String threadName;public Task(int sleepTime, String threadName) {
this.sleepTime = sleepTime;
this.threadName = threadName;
}@Override
public void run() {
try {
TimeUnit.SECONDS.sleep(sleepTime);
System.out.println(threadName + "线程休眠" + sleepTime + "秒后结束执行");
} catch (Exception e) {
e.printStackTrace();
}
}
}
这个是class GetInfoTask extends AsyncTask<Void, Void, Integer> {}
重写了doInBackground();与onPostExcute()方法貌似没有isAlive()方法,只有if(getStatue()== STATUE.FINISHED)但是也不会一直判断。