Einzelnen Beitrag anzeigen

Markus Effenberger

Registriert seit: 2. Jul 2014
44 Beiträge
 
Delphi 10.3 Rio
 
#4

AW: HTTP-Get-Thread NIEMALS zwei gleichzeitig abarbeiten

  Alt 19. Apr 2019, 19:34
Hmm..

...
Eine CriticalSection global in deinem HTTP-Server erzeugen und dann in jedem HTTPServerCommandGet:

(Nur so herunter getippt..)
Ich hatte zuvor schonmal versucht, das Ganze mit einer CriticalSection zu lösen, aber das hatte leider auch keinen Erfolg. Aber vielleicht lohnt es sich ja mal, die CriticalSection mit der Synchronize-Kapselung zu kombinieren. Ich habe mich diesbezüglich jetzt nochmal in das Thema CS reingelesen und habe jetzt noch eine Verständnisfrage.

Hat jemand genauere Informationen über den Unterschied zwischen "Enter" und "Acquire"?

"Acquire attempts to enter the critical section. It will suspend the calling thread if the critical section is in use by another thread, and will resume as soon as the other thread has released the critical section."

"Call Enter to block all other threads from entering code protected by this critical section until the Leave or Release method is called. Enter calls the Acquire method to bind the critical section to the calling thread."

Da steht also quasi mit "Acquire" wartet man.
Mit "Enter" blockt man und ruft das Warten auf.
Was genau macht es dann für einen Sinn, "nur" Acquire aufzurufen?


Markus
  Mit Zitat antworten Zitat