Angenommen, eine Klasse verfügt über ein öffentliches Int-Zählerfeld, auf das mehrere Threads zugreifen. Dieser int wird nur inkrementiert oder dekrementiert.
Um dieses Feld zu erhöhen, welcher Ansatz sollte verwendet werden und warum?
Ändern Sie den Zugriffsmodifikator von counter in public volatile.
Nachdem ich volatile entdeckt habe, habe ich viele Sperranweisungen und die Verwendung von Interlocked entfernt. Aber gibt es einen Grund, dies nicht zu tun?
Angenommen, eine Klasse verfügt über ein öffentliches Int-Zählerfeld, auf das mehrere Threads zugreifen. Dieser int wird nur inkrementiert oder dekrementiert.
Um dieses Feld zu erhöhen, welcher Ansatz sollte verwendet werden und warum?
[list] [*][code]lock(this.locker) this.counter++;[/code], [*][code]Interlocked.Increment(ref this.counter);[/code], [*]Ändern Sie den Zugriffsmodifikator von counter in public volatile. [/list]
Nachdem ich volatile entdeckt habe, habe ich viele Sperranweisungen und die Verwendung von Interlocked entfernt. Aber gibt es einen Grund, dies nicht zu tun?
Ich studiere das C#-Speichermodell für die gleichzeitige Programmierung.
Im MSDN gibt es einen Artikel zum C#-Speichermodell.
Es wird erklärt, dass flüchtiges Schreiben eine Release-Semantik hat, das...
Ich habe gerade Tage, buchstäblich, ~ 25 Stunden Arbeit verloren, weil ich versuchte, meinen Code über etwas Einfaches zu debuggen, das ich beim Herstellen eines Feuerscheibe Hexacopter BattleBot...
Guten Tag!
Das kann entweder ein Fehler sein oder etwas in Primefaces, das mir gerade fehlt. Wenn ich eine Datentabelle in ein Splitterpanel einfüge und diese Datentabelle so einstelle, dass sie...