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

发布于 2024-12-01 17:47:26 字数 369 浏览 1 评论 0原文

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

  1. 执行一些自定义 Java 内容
  2. 调用框架方法
  3. 执行一些自定义 Java 内容
  4. 调用框架方法

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

I have a challenging asynchronous programming task, wonder if anyone did anything like that with Java. Let's assume I'm developing a framework which will be used like this:

  1. Do some custom Java stuff
  2. Call Framework Method
  3. Do some custom Java stuff
  4. Call Framework Method

The above code is Synchronous from the user perspective. However the Framework Methods internally perform some long asynchronous operation and blocking the User thread for the duration of the operation is not efficient/feasible. Blocking the User thread is not feasible since I might need to support thousands of concurrent executions of steps 1-4... In other words I'm looking for a way to support X concurrent Java code executions using Y threads where X > Y... It's somewhat similar to what a Reactor pattern is doing with IO, but more generic.. Any thoughts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

机场等船 2024-12-08 17:47:26

则普通线程池/执行器将帮助您实现这一点

如果您可以将框架作业拆分为多个原子任务,从而激活其他任务, ;与以良好吞吐量运行的作业相比,作业将能够使用较少的活动线程来执行

the normal thread pools/executors will help you with that

if you can split up the framework jobs in several atomic tasks that will activate other tasks; the jobs will be able to execute with less active threads than there are jobs to run with decent throughput

萝莉病 2024-12-08 17:47:26

对于初学者,使用 java.util.concurrent 形式的类,例如 执行者

Use classes form java.util.concurrent, for the starters, e.g. Executors.

椒妓 2024-12-08 17:47:26

从 JDK 1.5 开始,您就拥有了 Concurrency API。 Java 教程中的高级并发对象为您提供了很好的帮助从它开始。

Starting with JDK 1.5 you have the Concurrency API at hand. The High Level Concurrency Objects within The Java Tutorial give you a good start at it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文