gpt4 book ai didi

java - run方法后执行代码?

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

我在类 A 中有一个方法,它创建一个线程并调用类 B 中的 run 方法。我在类 B 中有一个列表,该列表在类 B 的 run 方法中更新,我需要在run方法返回。我在下面给出了示例代码。

class A {
public static void main(String[] args) {

List l = null;

B obj = new B();
Thread T = new Thread(obj);
T.start();

l = obj.getList();
// do something with l
}
}

class B implements Runnable {

List l;

void run() {
l = doSomething();
}

public List getList() {
return List l;
}
}

现在,当我获取列表值 l = obj.getList(); 时,我得到 null属于 A 类。行 l = obj.getList();在 A 类中,在 run 方法更新之前立即被调用。如何让主线程等待并在线程T返回后显示正确的值。请推荐一下?

最佳答案

尽管其他建议也可能有用。最简单的解决方案是等待线程结束。

T.start();
T.join();

l = obj.getList();

关于java - run方法后执行代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19167994/

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