java – 从方法中删除阻塞

前端之家收集整理的这篇文章主要介绍了java – 从方法中删除阻塞前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这是功课.

我不想要解决方案,只需要少量的链接或想法.

简单地说我想做的是,

简单的例子:

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获取更多信息.

原文链接:https://www.f2er.com/java/129347.html

猜你在找的Java相关文章