限制线程数和 Java 并发

2023-11-30

我找不到使用最新 JAVA 并发例程的具体案例的示例。

我打算使用threads处理可能包含 0 到数千个请求的开放队列中的项目。我想限制在任何给定时间都有不少于 0 且不超过 10 个线程处理队列项目。

是否有针对这种特定类型案例的 Java 并发进程?


我认为线程池就是您正在寻找的。看一下 ExecutorService 和 Executors。

执行者服务:http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ExecutorService.html

执行人:http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Executors.html

获取一个新的线程固定线程池,可处理最多。一次 10 个线程:

ExecutorService threadPool = Executors.newFixedThreadPool(10);

使用提交方法,您可以将 Callables 或 Runnables 传递到池中。

对于您的用例,您需要一个查看队列的进程,如果有新请求,则必须创建 Callable 或 Runnable 并将其传递到线程池。池确保最大。一次执行 10 个线程。

这是一个非常小的教程:http://www.math.uni-hamburg.de/doc/java/tutorial/essential/threads/group.html

使用线程池的一个好处是,submit 方法返回一个 Future 对象,该对象支持已执行线程的返回类型。

未来 :http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/Future.html

我希望这可以帮助您解决您的问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

限制线程数和 Java 并发 的相关文章

随机推荐

  • 在特定位置添加字典元素

    考虑以下代码 var myDict new Dictionary
  • 如何保持 Tomcat 会话?

    我有一个 JSP 网页 每 1 分钟刷新一次 每次刷新时 都会检查会话对象的有效性 当 tomcat Web 服务器重新启动时 会话消失 并且当页面刷新时 它显示 无效 有人能解决我的问题吗 查看 Tomcat 配置文件中的配置 该文档位于
  • 在引导程序日期时间选择器中设置默认时间?

    如何将默认小时和分钟设置为 00 00 这里我只想设置时间而不是日期 我正在使用以下日期时间选择器代码 在此代码中 如何将默认时间设置为 00 00 timepicker rowIndx datetimepicker format dd M
  • 如何使用 jQuery 附加到跨度内的

    标记?

    jsFiddle 我正在尝试将一些文本附加到跨度中的标题中 但我不知道如何附加到实际标题 而不仅仅是跨度 Style h1 font size 250 color red HTML span class note h1 some text

  • 我可以将 CSS 应用于 iframe 中的元素吗?

    我经常看到使用包含外部站点的 iframe 的网站 以及包含供用户使用的 JavaScript 功能的顶部框架 例如用户分析软件 Digg bar 等 对于尝试类似的东西有什么建议吗 如果知道的话那就太好了 不 不是来自outsideifr
  • 在 Jenkins 中远程触发构建

    我曾尝试通过在提交挂钩中使用此 URL 来触发我的 Jenkins 项目 curl http jenkins server job job name build token TOKEN 并且没有被触发 但是当我在网络浏览器中输入这个 URL
  • 如何使用 Codeigniter 从数据库检索数据并将其显示在 html 表格中

    任何人请帮助我检索数据库数据以及如何在 html 表中查看它 我给出的编码是否正确 如果不正确 你能说出我必须如何给出吗 以便在 html 表中查看它 控制器 class edit content extends CI Controller
  • 如何获取传递给 multiprocessing.Process 的函数的返回值?

    在下面的示例代码中 我想获取函数的返回值worker 我该怎么做呢 这个值存储在哪里 示例代码 import multiprocessing def worker procnum worker function print str proc
  • 从 Mac 向 iPhone/iPad/iPod touch 发送通知

    我目前销售一款仅适用于 Mac 的生产力工具 该工具使用视觉和音频通知来提醒用户正在发生的某些事件 我已经开始规划该 Mac 程序的 iPhone 和 iPad 版本 并希望能够提供从 Mac 到 iPhone 的通知服务 例如iPhone
  • 使用 LINQ 获取配对集

    当我有一个清单时 IList
  • 如何在 map() 中使用异步代码(Flutter、Firestore)

    我正在使用 Flutter 和 Firestore 插件开发一个群聊应用程序 从数据库获取数据并将快照转换为消息列表完全可以正常工作 但现在我想将数据库中的 uid 转换为用户名 uid 及其用户名保存在数据库中 这是我的代码 final
  • 使用 XSLT 2.0 的两阶段转换

    我正在尝试将 CSV 文件作为输入并将其转换为 XML 我是 XSLT 新手 我找到了一种将 CSV 转换为 XML 的方法 使用来自安德鲁韦尔奇 像这样 输入 CSV 文件 car manufacturer model color pri
  • yaml 中的“>-”和“|-”有什么区别?

    我想确切地知道 gt 和 之间的区别 特别是在 kubernetes yaml 清单中 折叠块标量中的换行符 gt 受到行折叠 文字块标量中的换行符 不是 行折叠将非空行之间的单个换行符替换为空格 并且在空行的情况下 将周围非空行之间的换行
  • ASP.NET Core执行Linux shell命令

    有没有办法从 ASP NET Core 应用程序中执行 Linux shell 命令并将值返回到变量中 目前最好的可能性似乎是使用预发布版SSH Net Core https www nuget org packages SSH Net C
  • 使用 PHP 脚本进行 ERR_CONNECTION_RESET

    我有一个 PHP 脚本 可以下载和处理一些文件 有时文件数量非常大 因此需要一些时间 但是 当有大量文件需要处理时 连接会中断并出现 ERR CONNECTION RESET 错误 Chrome 这是我的配置 upload max file
  • 从网站上的按钮下载文件的 Python 脚本

    我想通过单击以下网址中的 导出到 Excel 按钮来下载 xls 文件 https apps tampagov net CallsForService Webapp Default aspx type TPD 更具体地说 按钮 name c
  • offsetTop 与 jQuery.offset().top

    我读过offsetLeft and offsetTop不能在所有浏览器中正常工作 jQuery offset 应该为此提供一个抽象 以提供正确的值 xbrowser 我想要做的是获取元素被单击的位置相对于元素左上角的坐标 问题是jQuery
  • 在 iOS 上读取 sms.db 和 call_history.db 文件?

    我正在为越狱的 iPhone 5s iOS 7 1 1 开发一个应用程序 以获取存储在相应 db 文件中的通话日志和消息 我有一些疑问 我有一个有效的证书 配置文件 并且我的应用程序是使用此配置文件签名的 因此是否有必要删除此配置文件并使用
  • 错误:控制到达非 void 函数的末尾

    我在学习C 我从教科书上复制了这段代码 在编译代码时 最后出现错误 错误说 控制到达非 void 函数的末尾 它位于代码的末尾 include ComplexNumber hpp include
  • 限制线程数和 Java 并发

    我找不到使用最新 JAVA 并发例程的具体案例的示例 我打算使用threads处理可能包含 0 到数千个请求的开放队列中的项目 我想限制在任何给定时间都有不少于 0 且不超过 10 个线程处理队列项目 是否有针对这种特定类型案例的 Java