781 Stimmen

Flüchtig vs. Verriegelt vs. Sperre

Angenommen, eine Klasse hat eine public int counter Feld, auf das mehrere Threads zugreifen. Diese int wird nur inkrementiert oder dekrementiert.

Welcher Ansatz sollte gewählt werden, um dieses Feld zu vergrößern, und warum?

  • lock(this.locker) this.counter++; ,
  • Interlocked.Increment(ref this.counter); ,
  • Ändern Sie den Zugriffsmodifikator von counter a public volatile .

Jetzt, wo ich entdeckt habe, dass volatile Ich habe schon viele lock Aussagen und die Verwendung von Interlocked . Aber gibt es einen Grund, dies nicht zu tun?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X