gpt4 book ai didi

java - 如何安排函数调用在队列中执行?

转载 作者:太空宇宙 更新时间:2023-11-04 07:10:23 25 4
gpt4 key购买 nike

我有一个界面

interface Methods {
void MethodX(int X);
void MethodY(int Y);
// ...
}

接口(interface)实现必须在阻塞队列中安排对接口(interface)方法的调用(以便按顺序执行调用)。有什么简单的方法可以做到这一点吗?

Something.post(...);

其中...是 MethodZ 的一些包装器调用。

对接口(interface)的调用是非阻塞的(它是一个 AIDL 接口(interface)),但在内部,每个下一个调用都应该在前一个调用完成之前执行。

最佳答案

如果我正确理解您的问题,您可以尝试以下操作:

class MethodZExecutor implements Callable<Void> {

private final Methods method;
private int argument;

public MethodZExecutor(Methods method, int argument) {
this.method = method;
this.argument = argument;
}

@Override
public Void call() {
method.MethodZ(argument);
return null;
}
}

然后创建阻塞队列来保存Callable对象。使项目从此队列中出列,并对它们调用 call()

注意:使用匿名内部类可能会发生这一切,具体取决于您的用例:

someQueue.post(new Callable<Void>() {
@Override
public Void call() {
foo.MethodZ(someArgument);
return null;
}
});

关于java - 如何安排函数调用在队列中执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20742628/

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