マルチスレッドと共有変数 (続き) -- 補足 (1)

SUSv3をひっぱりだすのが大げさという場合は、comp.programming.threads FAQ の、

  • Q.56: Why don't I need to declare shared variables VOLATILE?
  • Q.118: Memory barriers for synchonization

あたりを読んでもらうと良いです。特にQ.56ですね。


あと、以上の説明をもってしてもどうしてもどうしてもどうしても心配だという向きには、GCCであれば -fvolatile-static と -fvolatile-global という凶悪なオプションがあるので、それを使えばソースコードは変更しなくて済みますw


続き