首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果另一个线程尚未完成,则让另一个线程处理进程

如果另一个线程尚未完成,则让另一个线程处理进程
EN

Stack Overflow用户
提问于 2016-12-03 03:44:53
回答 1查看 70关注 0票数 4

我在玩快速修复,我有一个设计问题。

我在下面的函数中处理收到的消息:

代码语言:javascript
运行
复制
void processFixMessage(Message message){
   //do stuff here
}

几乎可以肯定的是,我压缩(处理)消息的速度会变慢。我的问题是,有没有一种方法来处理这样的情况,如果我还没有完成一条消息并收到另一条消息,应该由不同的线程处理并开始处理。

EN

回答 1

Stack Overflow用户

发布于 2018-05-09 12:00:34

你可以跳过你的processFixMessage(消息消息)中的线程。根据传入消息的速率和处理单个消息的时间,您可以选择要创建多少个线程。一种方法是创建一个包含n个线程的ThreadPool,并将您的消息解析提交到该池。你可以参考代码:https://www.journaldev.com/1069/threadpoolexecutor-java-thread-pool-example-executorservice https://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ThreadPoolExecutor.html

你可以有基于机器的动态线程数: int cores = Runtime.getRuntime().availableProcessors();

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40939803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档