Collection bt = new Collection(); //Collection extends Thread
bt.setBean(bean);
bt.setTextArea(textArea);
bt.setUid(uid);
bt.setUser(author); bt.start(); try {
bt.join();
} catch (InterruptedException e) {
e.printStackTrace();
}我想知道 bt.join() 是吧当前的Collection线程阻塞 还是把整个程序都给阻塞了呢
bt.setBean(bean);
bt.setTextArea(textArea);
bt.setUid(uid);
bt.setUser(author); bt.start(); try {
bt.join();
} catch (InterruptedException e) {
e.printStackTrace();
}我想知道 bt.join() 是吧当前的Collection线程阻塞 还是把整个程序都给阻塞了呢
API:
join
public final void join()
throws InterruptedException等待该线程终止。 抛出:
InterruptedException - 如果另一个线程中断了当前线程。当抛出该异常时,当前线程的中断状态 被清除。
Thread t = new Thread() {
public void run() {
for (int i = 0; i < lists.length; i++) {
Bean bean = Management.getInstance_Rule().getBean(lists[i].getAbsolutePath());
list.setSelectedIndex(i);
if (bean.getState().equals("1")) { ShowMsg("[+] : 开始采集 " + lists[i].getName().substring(0, lists[i].getName().indexOf("p")).trim().replaceAll("\\.", ""));
Collection bt = new Collection();
bt.setBean(bean);
bt.setTextArea(textArea);
bt.setUid(uid);
bt.setUser(author); bt.start(); try {
bt.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
} System.exit(0);
}
};
t.start();
}我这段代码运行后,没什么问题但是如果我将他最小化到任务栏后
程序就像死了样,如果这段代码不运行
最小化后能恢复到正常状态高手们能看出着代码哪有问题吗
【
public final void join()
throws InterruptedException等待该线程终止。 抛出:
InterruptedException - 如果任何线程中断了当前线程。当抛出该异常时,当前线程的中断状态 被清除。
】
由此,应为阻塞当前线程