Volatile vs. Interlocked vs. lock

Katakanlah sebuah kelas memiliki public int counterbidang yang diakses oleh banyak utas. Ini inthanya bertambah atau berkurang. Untuk menambah bidang ini, pendekatan mana yang harus digunakan, dan mengapa? lock(this.locker) this.counter++;, Interlocked.Increment(ref this.counter);, Ubah pengubah...