我正在尝试WaitForSingleObject(fork[leftFork], Infinite);
使用多个线程来锁定一个变量,但它似乎没有锁定任何东西
我设置Handle fork[5]
然后使用下面的代码,但它似乎没有锁定任何东西。
while(forks[rightFork] == 0 || forks[leftFork] == 0) Sleep(0);
WaitForSingleObject(fork[leftFork], INFINITE);
forks[leftFork]--;
WaitForSingleObject(fork[rightFork], INFINITE);
forks[rightFork]--;
我也尝试过WaitForMultipleObjects
同样的结果。当我创建我使用的互斥锁时fork[i]= CreateMutex(NULL, FALSE,NULL);
我想知道这是否只对每个线程都有好处,或者他们是否共享它?