加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 从方法中删除阻塞

发布时间:2020-12-15 00:38:44 所属栏目:Java 来源:网络整理
导读:这是功课. 我不想要解决方案,只需要少量的链接或想法. 简单地说我想做的是, 简单的例子: public class Example{ public void method() { int x = doThat(); //Call other methods which do not depend on x return; }} doThat()是一种已知耗时的方法,这会导
这是功课.

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

简单地说我想做的是,

简单的例子:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读