问个基础的问题?比较急!!!办法可用就给分,信誉保证!!
一组数据触发中断对这组数据进行拆包,该数据包中有两部分数据(A、B)组成一样,两部分都使用消息触发方式处理,就是两部分数据都在各自的消息函数中处理,处理过程会调用同一个函数(C),该函数输入为数据,输出为全局变量(D) - 一个结构体,处理完的全局变量会再触发一个消息(E)来保存拆包好的数据。
我想问的是,因为两部分都调用同一个函数进行拆包,输出又是同一个全局变量(结构体),如果两部分数据同时触发各自的消息处理,会不会出现一种情况,A数据在C中处理完生成D后,发给E等待处理时,B数据也送给C处理修改了D,导致发给E的数据不对了。
如果有这个问题,怎么处理呢?用时间锁可以吗?应该在那加?
原本的程序只有处理A部分数据,B部分是后面加的,如何在不大改原有源代码的情况下实现数据(A、B)的存储。