那么这段代码的临界区是什么,竞争条件可能会发生。如果我们有名为 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--;
}