并行程序、竞争条件、临界区和互斥锁

时间:2021-03-25 15:50:50

标签: parallel-processing mutex race-condition critical-section

那么这段代码的临界区是什么,竞争条件可能会发生。如果我们有名为 mutex 的 Pthreads 互斥锁,那么如何使用互斥锁来防止竞争条件

#define MAX_RESOURCES 255
int number_of_resources = 0;

int allocate_resource()
{
     if (number_of_resources == MAX_RESOURCES)
          return -1;
     else
          number_of_resources++;
     return 1;
}

void release_resource()
{
     if (number_of_resources > 0)
          number_of_resources--;
}

0 个答案:

没有答案