ATLを使用しているフリースレッドのインプロセスCOMオブジェクトで、FinalConstruct()
にのみ設定され、FinalRelease()
でのみ読み込まれるメンバー変数を追加したいとします。他のコードは、そのメンバ変数を操作することはありません。FinalConstruct()/ FinalRelease()の内部で同期が必要ですか?
メンバー変数にアクセスする際に同期が必要かどうかは疑問です。私はATLソースを注意深く読んでいて、これらのメソッドは常に1回だけ呼び出されるので、1つのスレッドのみから呼び出されるように見えます。
正しい仮定ですか?同期を省略することはできますか?