若现开启三个串口 分别为三个线程不断接受数据
void COM1()
{
while(1)
{
a1=recv1_1();
a2=recv1_2();
Sleep(5);
}
}
void COM2()
{
while(1)
{
b1=recv2_1();
b2 = recv2_2();
Sleep(5);
}
}
void COM3()
{
while(1)
{
c1=recv3_1();
c2 = recv3_2();
Sleep(5);
}
}
主线程在某时刻需要使用该时刻的a1 a2 b1 b2 c1 c2 变量
void main()
{
XXX
}
问:主线程使用以上几个变量的时候应注意什么才能保证几个变量是同一时刻的, (比如说主线程采集到a1,而时间片轮转到另一个线程,再采集a2的时候就是另一个时间的了),只需要对子线程的变量加临界区就行吗?
谢谢!