AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Suchfunktion Ergebnis der Suchanfrage

Ergebnis der Suchanfrage


Datum des Suchindex: Heute, 21:32

Parameter dieser Suchanfrage:

Suche in Thema: Interlocked* mit Operator Überladung
Suche alle Beiträge, die von "himitsu" geschrieben wurden
• Suchmethode: "Suche nach allen Begriffen"
• Nach Datum (firstpost) sortiert
• Zeige Treffer als Beiträge
Zeige 4 von insges. 4 Treffern
Suche benötigte 0.008s

Es liegen Ergebnisse in folgenden Bereichen vor:

  • Forum: Object-Pascal / Delphi-Language

    Re: Interlocked* mit Operator Überladung

      Delphi
      by himitsu, 8. Jan 2010
    vermutlich deswegen?

    94 ms - Inc (nicht threadsave)
    281 ms - LOCK
    359 ms - InterlockedExchangeAdd
    1344 ms - EnterCriticalSection
    1438 ms - TCriticalSection
    uses Windows, SyncObjs;

    type
  • Forum: Object-Pascal / Delphi-Language

    Re: Interlocked* mit Operator Überladung

      Delphi
      by himitsu, 8. Jan 2010
    soll heißen es geht theoretisch, aber ich hab's jetzt nicht in Delphi getestet, ob es kompiliert oder ob was falsch geschrieben ist.
    PS: die Compare-Operatoren kannst du genauso wie den Lese-Operator noch mit einbinden, da es ja auch nur Lesezugriffe sind.

    und das "theoretisch" hieß,
    daß es irgendwie geht, wenn man 'nen Umweg für LOCK MOV V, i einsetzt
    und z.B. LOCK AND V, 0 und danach noch...
  • Forum: Object-Pascal / Delphi-Language

    Re: Interlocked* mit Operator Überladung

      Delphi
      by himitsu, 8. Jan 2010
    sowas könnte gehn
    type
    TThreadSafeInteger = record
    private
    Value: Integer;
    public
    class operator Implicit(a: TThreadSafeInteger): Integer;

    procedure Put (i: Integer);
    procedure Add (i: Integer);
  • Forum: Object-Pascal / Delphi-Language

    Re: Interlocked* mit Operator Überladung

      Delphi
      by himitsu, 8. Jan 2010
    class operator TThreadSafeInteger.Add(a: TThreadSafeInteger; b: Integer): Integer;
    begin
    a.Value := a.Value + b; // sinnlos, da hier nur eine Kopie von a verändert wird
    // und kein anderer darauf zugreifen kann
    result := a.Value; // lesezugriff
    end;

    class operator TThreadSafeInteger.Subtract(a: TThreadSafeInteger; b: Integer): Integer;
    begin
    a.Value :=...


URL zu dieser Suchanfrage:

https://www.delphipraxis.net/dp_search.php?do=usersearch&search_username=himitsu&search_exact_username=1&search_sortby=dateline&search_resulttype=post&search_matchmode=0&searchthreadid=145797
Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:44 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz