请问一下各位,服务端向若干信息,客户端读取信息,客户端收到信息以后,对收到的信息进行解析,在这个收到信息和解析信息的过程中,创建了一块共享内存,希望能做到一边接受信息的同时,一边解析信息。谢谢
如果两个线程异步读取的话,1.在两个线程之外加一个公共的标志,用于判断到读取的位置。2.加锁或信号量对公共标志进行约束3.两个线程在读取之后,先更新公共标志,再解析数据
创建一个无锁队列,在尾写,在头读。效率应该比较高。
客户端收到信息和解析信息,这可以当做生产者和消费者模型来处理。代码实现可参考https://blog.csdn.net/qq_38619183/article/details/80859310?spm=1001.2101.3001.6650.7&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-7-80859310-blog-108487490.t5_layer_targeting_sa&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-7-80859310-blog-108487490.t5_layer_targeting_sa&utm_relevant_index=10