我编写了一些代码,将一个可调用对象提交给执行程序,将未来存储在一个映射中的一个 id 中。在调用方法中,我等待设置一个标志,然后再继续。基本上我需要等待外部操作返回给我并说我们完成了 - 这是数据,现在你可以继续......我认为我所拥有的不正确:
public class MyClass implements Callable<Boolean> {
---
---
private boolean done = false;
@override
public Boolean call() {
-- wait for flag to be set...
//continue....
}
}
--主要代码--
//create the above class..
//submit it...
//get the future store in map...
//-- wait for response from external application...
///tie it up with an id
//set the attribute so the callable can continue and complete..
问题:
以上将不起作用,因为我返回的是 Future 而不是对象。我正在考虑创建一个继承自可调用类的新接口——这有意义吗?
如果没有收到响应,我需要线程等待然后死掉。是否可以在线程上设置它?