这是功课.
简单地说我想做的是,
简单的例子:
public class Example { public void method() { int x = doThat(); //Call other methods which do not depend on x return; } }
doThat()是一种已知耗时的方法,这会导致程序阻塞,直到结果返回为止.我想使用此Object的不同方法,但程序将被冻结,直到doThat()完成.这些不同的方法不必从本例中使用的method()调用,但可能来自对象外部.
我想过使用线程,但如果我有大量的对象(1000),这可能不会非常有效(如果我错了请纠正我).我想如果我使用线程,我必须为每个对象使用一个线程?
除了调用doThat()之外可以使调用对象不阻塞的线程还有其他方法吗? ?如果线程是唯一的方法,你能提供链接吗?
知道这样的问题得到了投票我将接受任何downvotes.但请只是一个链接将是伟大的.
提前致谢.我希望问题符合规则.
解决方法
我也会使用线程,但我只是想补充一点,看看java.util.concurrent.Executors(创建线程池,因为你有很多对象)和java.util可能会很有趣. concurrent.Future和java.util.concurrent.Callable类,它们允许您启动可返回值的线程.
查看concurrency tutorial获取更多信息.