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的^{} ,在回调中
countDown()
它,然后在调用代码中await()
它