言語は C で、アプリには複数のスレッドがあります。値を変更できる int 配列があり、その値を読み書きするミューテックスがあります。しかし、配列のベースアドレス (&arr[0] など) は決して変更されないため、この値 (配列のベースアドレス) を読み取るためにミューテックスが必要ですか?
メインスレッドで私が持っている
int arr[10];
私が持っている別のスレッドで
int *ptr = &arr[0]; // this line
pthread_mutex_lock(&mutex);
*ptr = 2;
pthread_mutex_unlock(&mutex);
ptr++; // and this line
これを行うにはミューテックスが必要ですか?