我开发一个服务软件A,A接收从通信软件B发过来的包含很多个设备信息的数据包,B发送数据包的频率很快(2s);我现在用一个单线程在服务软件A中对B发过来的数据包进行解析,先把解析出来的设备信息保存在内存中的一个集合S中(只维持每个设备最新的一条数据),然后再把解析出来的数据发给不同的客户端C(有多个C1,C2,C3。。)。
测试后发现在A中处理包的速度跟不上B发送包的速度,会导致B发过来的很多包得不到及时的处理。我考虑过用多线程,但还没有什么思路,如果用多线程的话我这个内存的集合S要怎么来管理。另外,整个过程对数据的实时性要求很高(就是B发送包后,在客户端C中就能很快的接收到该包),望各位大虾指教!
测试后发现在A中处理包的速度跟不上B发送包的速度,会导致B发过来的很多包得不到及时的处理。我考虑过用多线程,但还没有什么思路,如果用多线程的话我这个内存的集合S要怎么来管理。另外,整个过程对数据的实时性要求很高(就是B发送包后,在客户端C中就能很快的接收到该包),望各位大虾指教!
解决方案 »
- DataTable的Merge方法
- 棋盘问题??
- datagrid .net compact framework修改列名称
- 关于循环的问题~~
- 请问c#中,if后面不接else,而且有多条if语句.有何恶果阿!
- 用C#写的Directx播放视频的怎么获取鼠标事件啊
- [正则] 能否帮忙写个函数,通过传入一个URL字符串返回某URL参数的值!使用正则,谢绝Request.QueryString
- 关于button图片切换 winfrom的
- 新年新气象,祝各位在新的一年里,分多多,RMB多多!
- 字符串中的空格为题?
- 怎么动态增加PictureBox
- DirectorySecurity如何察看group的访问权限?
线程池的话,通过静态变量管理内存的集合,因为静态变量是所有的线程共享一份的