>>71です。 しょうもない質問をしてすみません。mutexでロックをかけた場合、配列にアクセスする場合はその間配列全体がアクセス禁止になるのか、 それともその一部のみ(例えばキャッシュライン分)がアクセス禁止になるのかを知りたかったのです。 アクセスできないとなると、 int D[10000]位確保されていたとして、 int *A,*B,*C; A = &D[0]; B = &D[1000]; C = &D[2400]; のようにポインタでAの場所を指して、 スレッドA: D[0]〜D[1199]の内容を書き換え、スレッドB:D[1200]〜D[2399]の内容を書き換え、スレッドC:D[2400]〜D[3599]の内容を書き換え、 オーバーラップする領域はまずAの処理を優先するため、その領域を保護するためにmutexでロックをかけている間、 BはAの処理が終わるのを待たなければならないのは分かるのですが、CもAの処理が終わるまで待たなければならないのでしょうか?