gpt4 book ai didi

Java,带有回调的方法是否被认为是异步的?

转载 作者:行者123 更新时间:2023-12-01 21:45:52 24 4
gpt4 key购买 nike

我用一种方法创建了界面:

public interface ResultCallback {
void onResult(String message);
}

我有一个对象,其方法以接口(interface)作为参数:

public class Command() {
public void methodWithCallback(int param1, String param2, ResultCallback callback) {
// There are some calculations
callback.onResult(param2);
}
}

然后在我的主 Java 文件中我这样写:

public class Main() { 
public static void main(String[] args) {
Command c = new Command();
c.methodWithCallback(int 0, "SOME STRING", new ResultCallback() {
@Override
public void onResult(String str) {
// work with str
outsideMethod(str);
}
});
}

public void outsideMethod(String str) {
// some code
}
}

这段代码可以被认为是异步的吗?调用 outsideMethod 来处理参数是否安全?

最佳答案

如前所述,它不是异步的。对于异步调用,该方法应该在另一个线程上执行。

您无法调用 OutsideMethod,因为它是从静态方法调用的。您需要一个 main 实例才能调用 OutsideMethod。是否安全取决于代码在做什么。

关于Java,带有回调的方法是否被认为是异步的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36009106/

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