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获取更多信息. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |