我有一个具有挑战性的异步编程任务,想知道是否有人用Java做过类似的事情。让我们假设我正在开发一个像这样使用的框架:
从用户的角度来看,上面的代码是同步的。但是,框架方法在内部执行一些长的异步操作,并且在操作期间阻塞用户线程不是有效/可行的。阻止User线程是不可行的,因为我可能需要支持步骤1-4的数千个并发执行...换句话说,我正在寻找一种方法来支持X并行Java代码执行使用Y线程,其中X> Y ...它有点类似于Reactor模式对IO的作用,但更通用..有什么想法吗?
答案 0 :(得分:0)
正常的线程池/执行器将帮助您
如果你可以在几个原子任务中拆分框架作业来激活其他任务;这些作业将能够以较少活动的线程执行,而不是以具有良好吞吐量的作业运行
答案 1 :(得分:0)
为初学者使用java.util.concurrent类,例如: Executors
答案 2 :(得分:0)
从JDK 1.5开始,您手头有并发API。 The High Level Concurrency Objects within The Java Tutorial给你一个良好的开端。