一、同步互斥
1.1 什么是同步互斥
同步即按照顺序一个完成,另一个才能继续。
两个任务交替执行,但是Task2
在等待flagCalcEnd
为1时候一直在while(1)浪费时间。所以Task2
在flagCalcEnd为1前应该处于Block状态,节约资源。
void Task1Function(void * param)
{
volatile int i = 0;
while (1)
{
for (i = 0; i < 10000000; i++)
sum++;
flagCalcEnd = 1;
vTaskDelete(NULL