当前位置: 首页 > 知识库问答 >
问题:

如何使用线程/线程池管理多个操作?

吕子真
2023-03-14

我需要创建一个并行执行多个操作的应用程序。我曾考虑过使用线程或线程池,但我以前从未使用过,所以我发现这相当困难。Thread应按以下方式工作:

MainSystem -> get average of the 3 systems below
----System 1 -> perform increment/decrement
----System 2 -> get average of the 3 subsystems below
--------3 subsystems -> each system perform increment/decrementindependently
----System 3 -> get average of the 15 subsystems below
--------15 subsystems -> each system perform increment/decrement independently

所有系统应同时运行。你认为我应该如何实现这一点?

共有1个答案

靳富
2023-03-14

你试过什么?你可以利用并行性:

Parallel.ForEach(calculations, (currentCalc) => 
{
    // perform calculation
});   

看见https://msdn.microsoft.com/en-CA/library/dd460720(v=vs.110)。aspx

请提供您需要执行的实际计算的更多详细信息。

 类似资料:
  • 本文向大家介绍C#多线程学习之(四)使用线程池进行多线程的自动管理,包括了C#多线程学习之(四)使用线程池进行多线程的自动管理的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#多线程学习之使用线程池进行多线程的自动管理。分享给大家供大家参考。具体如下: 在多线程的程序中,经常会出现两种情况: 一种情况:   应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应

  • 问题内容: 您能解释一下Netty如何使用线程池工作吗?我是否正确理解,线程池有两种:老板线程和工人线程。老板用于执行I / O,而worker用于调用用户回调(messageReceived)来处理数据? 问题答案: 这是来自NioServerSocketChannelFactory文档 一个ServerSocketChannelFactory,它创建一个基于NIO的服务器端ServerSock

  • 我有一个图像路径列表,我想在进程或线程之间划分,以便每个进程处理列表的某些部分。处理包括从磁盘加载图像,进行一些计算并返回结果。我正在使用Python 2.7 下面是我如何创建辅助进程 我所面临的问题是,当我在initializer函数中记录初始化时间时,我知道worker不是并行初始化的,而是每个worker都以5秒的间隔初始化,下面是供参考的日志 我尝试过使用将同时启动辅助线程 我知道Wind

  • 这里首先介绍了java5中的并发的小工具包:java.util.concurrent.atomic,然后介绍了线程池的概念,对使用java5的方式创建不同形式的线程进行了演示,之后介绍了两个 对象:Callable和Future,用于获取线程执行后的结果,对于线程锁技术则在另外一篇文章中介绍。 Java5中的线程并发库都在java.util.concurrent包及子包中 1. Executor类

  • BilledLines=Integer.ParseInt(args[7]); Array=TaxCalc.Calculation(输入,y,BilledLines,); 返回数组; } taxouput函数是OSB中的多线程函数。现在,我想调用setup()和 cleanup(),以便setup()只对第一个线程调用,而 cleanup()只对最后一个线程调用。

  • 我理解了Node是如何使用操作系统的去多路复用器使非阻塞调用异步的,它通过避免创建一百万个线程(每个客户端一个线程)来节省大量的内存成本,从而在单个线程中处理所有请求。它还帮助开发人员在更简单的应用程序中处理并发问题way.All目前为止做得很好。 当线程池进入节点留档时,我的麻烦就开始了picture.its在节点留档中,只要操作系统的多路分解器支持不好,节点就使用线程池(默认为4个线程,最大1