int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
int b[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20};
int sum(int array[], int len)
{
static int sum = 0;//存在静态变量,使得函数不能重入
for(int i = 0; i<len ; i++)
sum += array[i];
return sum;
}
void task1(void)
{
sum(a, 10);
}
void task2(void)
{
sum(b, 20);
}
在访问公共的资源的时候采取一定的安全措施,实施对资源的互斥访问,或者在访问时不允许被打断
具体方法:信号量、互斥量、锁等机制
临界资源:公共的资源,如全局变量、静态变量、缓冲区、打印机等
临界区:访问临界资源的代码段