Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#18

AW: TInterlocked.Exchange bei Zugriff eines nur lesenden Threads?

  Alt 17. Mär 2015, 15:30
Klar, das ist sicherlich ein brauchbarer Ansatz (den ich auch partiell schon implementiert hatte). Allerdings habe ich gelesen, dass Critical Sections nicht umbedingt super performant sind. Zumindest bei den Werten, die alle paar Milisekunden aktualisiert werden, wollte ich lieber die Interlocked Funktionen verwenden.

Kann man bezüglich der "ranged types" was machen, oder bin ich hier gezwungen Critical Sections zu benutzen?
Du brauchst einen Synchro-Mechanismus (den man - wie hier exemplarisch gezeigt - mit einer CriticalSection machen kann, oder mit TMonitor , oder, oder, oder, oder, ..... )

Welchen, das hängt eben davon ab, was da atomar ablaufen soll/muss. Ein TInterlocked geht eben nur für einen Wert und eben nur für bestimmte Typen
Delphi-Referenz durchsuchenSystem.SyncObjs.TInterlocked
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (17. Mär 2015 um 15:38 Uhr)
  Mit Zitat antworten Zitat