我开发一个服务软件A,A接收从通信软件B发过来的包含很多个设备信息的数据包,B发送数据包的频率很快(2s);我现在用一个单线程在服务软件A中对B发过来的数据包进行解析,先把解析出来的设备信息保存在内存中的一个集合S中(只维持每个设备最新的一条数据),然后再把解析出来的数据发给不同的客户端C(有多个C1,C2,C3。。)。
测试后发现在A中处理包的速度跟不上B发送包的速度,会导致B发过来的很多包得不到及时的处理。我考虑过用多线程,但还没有什么思路,如果用多线程的话我这个内存的集合S要怎么来管理。另外,整个过程对数据的实时性要求很高(就是B发送包后,在客户端C中就能很快的接收到该包),望各位大虾指教!