Einzelnen Beitrag anzeigen

Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#29

AW: W1000 Symbol 'Resume' ist veraltet ????

  Alt 23. Aug 2011, 16:11
Zitat:
The race condition occurs because access to the suspend
count is not synchronized between threads, such that it is possible for one
thread to decrement the suspend count beyond zero to a value of -1.
Da ausschliessliuch der Thread selber SuspendCount verringert seh ich darin kein Problem - auch wieder ein Fall wo nur das Suspend aus einem anderen Thread zum Fehler führt.
Eben nicht.
Dieses Problem tritt auf, wenn TmyThread Suspend aufruft und der MainThread gleichzeitig Resume aufruft, was bei deinem Code durchaus passieren kann.


Zitat von Emil:
FDelayMSChanged
FDelayMSChanged wird aufgerufen wenn ein neues Plugin gestartet wird und die ms sich geändert haben.
Dann must du um jeden Zugriff (eigentlich nur, wenn mindestens ein Thread auch schreibend darauf zugreift) EnterCriticalSection und LeaveCriticalSection basteln (und zwar von der exakt gleichen Objektinstanz)
Allerdings hast du hier eine Variable allersimplesten Datentypes. Da reichen die interlocked-Funktionen aus und die synchronisation kann entfallen.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat