具有有限线程的多个执行路径

时间:2011-08-27 18:50:21

标签: java multithreading asynchronous jvm reactor

我有一个具有挑战性的异步编程任务,想知道是否有人用Java做过类似的事情。让我们假设我正在开发一个像这样使用的框架:

  1. 做一些自定义Java的东西
  2. 调用框架方法
  3. 做一些自定义Java的东西
  4. 调用框架方法
  5. 从用户的角度来看,上面的代码是同步的。但是,框架方法在内部执行一些长的异步操作,并且在操作期间阻塞用户线程不是有效/可行的。阻止User线程是不可行的,因为我可能需要支持步骤1-4的数千个并发执行...换句话说,我正在寻找一种方法来支持X并行Java代码执行使用Y线程,其中X> Y ...它有点类似于Reactor模式对IO的作用,但更通用..有什么想法吗?

3 个答案:

答案 0 :(得分:0)

正常的线程池/执行器将帮助您

如果你可以在几个原子任务中拆分框架作业来激活其他任务;这些作业将能够以较少活动的线程执行,而不是以具有良好吞吐量的作业运行

答案 1 :(得分:0)

为初学者使用java.util.concurrent类,例如: Executors

答案 2 :(得分:0)

从JDK 1.5开始,您手头有并发API。 The High Level Concurrency Objects within The Java Tutorial给你一个良好的开端。