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