9
揮発性vs.インターロックvs.ロック
クラスに、public int counter複数のスレッドによってアクセスされるフィールドがあるとしましょう。これintは、増分または減分されるだけです。 このフィールドをインクリメントするには、どのアプローチを使用する必要がありますか。その理由は何ですか。 lock(this.locker) this.counter++;、 Interlocked.Increment(ref this.counter);、 のアクセス修飾子をcounterに変更しますpublic volatile。 私が発見したvolatileので、私は多くのlockステートメントとの使用を削除してきましたInterlocked。しかし、これを行わない理由はありますか?