让我们想象一下几个数据源的集合,即热传感器,或摄像机。 我想从这些来源的奴隶收集数据,并传递给主。
效率是 *** 作的关键方面。
我应该使用多个进程或线程/任务吗?
编辑:我忘了提及…所有数据源应同步服务,同样具有相同的优先级,在同一时间,无论cpu和内存的使用情况和可用的核心数量。
修改创builddate的属性
应用程序缺less必需的文件
如何将引发的exception映射到事件ID以进行日志logging?
使用C#研究目录及其子目录中文本的高效search
C# – 文件path的正则Expression式,例如C: test test.exe
在同一进程中创build的所有其他线程之后停止线程
什么是构buildwindows Phone 7应用程序要连接的服务的最佳可伸缩体系结构?
使用windows C#应用程序将应用程序限制为32位体系结构
如何使用dotnet框架4.0提取zip文件,而无需使用第三方dll
WPF RibbonWindow + Ribbon =标题外屏?
如果你从几个奴隶传递给主人,使用线程。 这将帮助你分享你的地址空间,也许使任务更容易实现。 如果你有很多的奴隶,并想要最高的效率,使用一个线程池服务奴隶来源。
使用多个进程只会增加进程上下文切换的开销,通常比线程上下文切换稍微多一些。 您还必须管理进程间通信,这通常比线程间通信更复杂,效率更低。
这样做的典型方法是使用读写器锁(.NET中的readerwriterlockslim )。 你的作者会一次一个地写访问你的共享状态地图,而你的读者(你的客户端应用程序)可以同时读取,虽然显然不是在生产者正在编写状态的时候。
编辑:这显然是使用线程。 进程间的沟通会杀死你可能有的体面表现的希望。
总结以上是内存溢出为你收集整理的使用多个进程/线程/任务从多个来源收集数据全部内容,希望文章能够帮你解决使用多个进程/线程/任务从多个来源收集数据所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)