有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在可调用文件中等待回调

我想这样做:

public class MyCallable implements Callable<Boolean>, MyObserver
{
    Boolean mSuccess = false;

    @Override
    public Boolean call() throws Exception
    {
        // ... Wait here until myCallback is called ...

        return mSuccess;
    }

    @Override
    public void myCallback()
    {
        if(something) mSuccess = true;
    }
}

所以我可以像这样使用它:

MyCallable callable = new MyCallable();

FutureTask<Boolean> futureTask = new FutureTask<Boolean>(callable);

ExecutorService executor = Executors.newFixedThreadPool(1);
executor.execute(futureTask);

Boolean successfull = futureTask.get();

这段“等待调用回调”代码是什么样子的?我想我可以创建一个名为“Boolean mcallbackcall=false”的成员,然后就(!mcallbackcall),但这似乎很有意思


共 (1) 个答案

  1. # 1 楼答案

    你根本不应该使用遗嘱执行人

    相反,创建一个计数为1的^{},在回调中countDown()它,然后在调用代码中await()