uint32 abc(int i)
{
pthread_mutex_lock(&sharedvar_mutex[i]);
sharedvar[i][j] = getvalue(i,j);
pthread_mutex_unlock(&sharedvar_mutex[i]);
}
这种用法正确吗?
这会像下面这样工作吗:说 i 可以是 1 或 2 并且 j 是全局常数。i=1 的线程A 调用此函数并获取互斥锁sharesvar_mutex[1] 并修改sharedvar[1][j]。thread-B 进入函数时 i=1 将在互斥体上等待。
thread-C where i=2 可以进入并获取互斥量sharesvar_mutex[2]并修改sharedvar[2][j]。
它会这样工作吗?
谢谢!