java关于等待线程结束的问题!
如何等待线程结束?在这红色的下划线部分,等待线程结束后QueryResultsResult123的值才等于线程里的results[0]这么怎么弄?怎么写求代码!谢谢大神...
如何等待线程结束?
在这红色的下划线部分,
等待线程结束后 QueryResult sResult123 的值 才等于 线程里的 results[0]
这么怎么弄?怎么写 求代码!谢谢大神 展开
在这红色的下划线部分,
等待线程结束后 QueryResult sResult123 的值 才等于 线程里的 results[0]
这么怎么弄?怎么写 求代码!谢谢大神 展开
2个回答
展开全部
简单地可以使用 Thread.join() 方法来等待线程结束,例如这样修改一下:
Thread t = new Thread() {
// 同原来的 run()
};
t.start();
// 调用这个方法,会挂起当前线程直至线程t结束
t.join();
join()方法的文档是这么写的: Waits for this thread to die.
也可以用wait/notify或mutex等机制来对两个线程进行同步,稍微复杂一点,例如使用 wait/notify:
new Thread() {
public void run() {
// 同原来的代码,加上以下代码用于同步
synchronized (results) {
results.notifyAll();
}
}
}.start();
// 通过以下代码挂起当前线程,等待其他线程通知
synchronized (results) {
results.wait();
}
以供参考。
同 i178269245 所说,等待线程结束势必要挂起当前线程,也就没必要用线程了,也许需要重新考虑一下这种实现方式。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询