質問はX86/LINUX環境に限定されています。
1 つのスレッドがロック付きの変数を書き込み、他のスレッドがロックなしでこの変数を読み取ります。書き込みスレッドがロック解除されたとき、他のスレッドはすぐに新しい値を読み取ることができますか?
volatile int a=0;
/* thread 1(write) */
lock();
a = 10;
unlock();
/* thread 2(read) */
printf("%d",a);
1 つのスレッドがロック付きの変数を読み取り、別のスレッドがロックなしでこの変数を書き込みます。書き込みが完了した後に読み取りスレッドが読み取ったとき、新しい値をすぐに読み取ることができますか?
volatile int a=0;
/* thread 1(read) */
lock();
printf("%d",a);
unlock();
/* thread 2(write) */
a = 10;