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 の thread-A がこの関数を呼び出してミューテックス sharevar_mutex[1] を取得し、sharedvar[1][j] を変更します。関数に入ると i=1 のスレッド B はミューテックスで待機します。
i=2 のスレッド C は、mutex に入って取得でき、sharesvar_mutex[2] を取得し、sharedvar[2][j] を変更します。
このように機能しますか?
ありがとう!