上面的3 个进程都是延迟相同的时间,让我们修改一下,尝试让它们延迟不同的时间。
修改后的代码让A、B、C三个进程分别延迟300、900、1500ms。容易猜到,这样一来,打印出来的3个字母的数量肯定应该有较大的差别了,进程执行时间上的对称从此被打破。
/*======================================================================*
TestA
*======================================================================*/
void TestA()
{
int i = 0;
while (1) {
disp_str("A.");
milli_delay(300);
}
}
/*======================================================================*
TestB
*======================================================================*/
void TestB()
{
int i = 0x1000;
while(1){
disp_str("B.");
milli_delay(900);
}
}
/*======================================================================*
TestB
*======================================================================*/
void TestC()
{
int i = 0x2000;
while(1){
disp_str("C.");
milli_delay(1500);
}
}