gpt4 book ai didi

java - 如何在所有包含的线程完成之前阻止子例程结束?

转载 作者:行者123 更新时间:2023-12-01 13:08:50 25 4
gpt4 key购买 nike

基本上,我有几个线程,每个线程都完成任务。

虽然我在这个子例程中对任务进行了多线程处理,以加快整体程序速度。

我需要此子例程仅在其中的所有线程完成时关闭,因为在该子例程完成后,下一个子例程需要在程序中运行生成的信息。

与现在发生的情况相反,现在允许子例程关闭并让包含的线程在后台以自己的时间运行。这会强制运行下一个子例程,仅对部分数据起作用。

我该怎么做?

代码:

public void MainSetupTasks() throws ClientProtocolException, IOException {

new Thread(new Runnable() {

@Override
public void run() {

// Tasks to be complete

}
}).start();

new Thread(new Runnable() {

@Override
public void run() {

// Tasks to be complete

}
}).start();

new Thread(new Runnable() {

@Override
public void run() {

// Tasks to be complete

}
}).start();

new Thread(new Runnable() {

@Override
public void run() {

// Tasks to be complete

}
}).start();

new Thread(new Runnable() {

@Override
public void run() {

// Tasks to be complete

}
}).start();

new Thread(new Runnable() {

@Override
public void run() {

// Tasks to be complete

}
}).start();

new Thread(new Runnable() {

@Override
public void run() {

// Tasks to be complete

}
}).start();

new Thread(new Runnable() {

@Override
public void run() {

// Tasks to be complete

}
}).start();

}

最佳答案

要解决您眼前的问题,您可以使用类似 How to wait for a set of threads to complete? 的内容。

但这太难看了。内置ExecutorService让您以更简洁的方式启动后台线程。

关于java - 如何在所有包含的线程完成之前阻止子例程结束?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23049842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com