INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

DLL optimieren



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

27.04.2009, 09:48 (Dieser Beitrag wurde zuletzt bearbeitet: 27.04.2009 09:50 von rolfk.)
Beitrag #4

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
DLL optimieren
' schrieb:Ich habe den eigentlichen Quellcode in C++ Multithreaded programmiert. Maximal laufen bis zu drei Threads. Diese werden aber durch Semaphoren synchronisiert. Ich greife natürlich auch auf eine Hardware zu. Dafür habe ich Critical Sections verwandt um einen gleichzeitigen Zugriff zu vermeiden. Allerdings verwende ich schon globale Variablen die sich aber auch innerhalb der Critical Section befinden. Ist dies ausreichend um ein Skript als Threadsafe zu bezeichnen? Und sollte ich den reentrant Aufruf dann mal versuchen?

Danke für deine guten Antworten Rolf.

Solange alle globalen Resourcen (Hardware, globale Variablen, etc) innerhalb von Critical Sections geschützt sind sollte der Code als wiedereintrittsfähig (reentrant) gelten können. Ob das aber hilft mit der Performance ist eine andere Frage.

Critical Sections haben auch die Möglichkeit um Probleme zu verursachen, wie Priority inversion, interlocking, usw. Damit kann Code der grundsätzlich schnell läuft plötzlich sehr langsam laufen oder sich überhapt komplett blockieren und den entsprechenden Thread völlig aufhängen. Das hässliche dabei ist dass diese Problem sehr schwierig zu debuggen sind, da nicht immer genau und einfach reproduzierbar und im Moment wo Du im Locking zurecht kommst eigentlich auch nicht mehr debugbar sind, da der Debugger selber im Suspended Mode arbeiten können muss um Dir Dinge wie Single-Stepping und Source Code Level Debugging möglich zu machen.

Rolf Kalbermatter

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
DLL optimieren - abrissbirne - 26.04.2009, 16:21
DLL optimieren - rolfk - 27.04.2009, 08:01
DLL optimieren - abrissbirne - 27.04.2009, 09:06
DLL optimieren - rolfk - 27.04.2009 09:48
DLL optimieren - abrissbirne - 29.04.2009, 16:22
DLL optimieren - rolfk - 29.04.2009, 16:37
DLL optimieren - abrissbirne - 29.04.2009, 17:08
DLL optimieren - jg - 29.04.2009, 19:01
DLL optimieren - rolfk - 29.04.2009, 19:42
DLL optimieren - abrissbirne - 30.04.2009, 13:54
DLL optimieren - rolfk - 03.05.2009, 11:48
DLL optimieren - abrissbirne - 04.05.2009, 14:07
DLL optimieren - rolfk - 04.05.2009, 19:17
DLL optimieren - abrissbirne - 05.05.2009, 16:18

Gehe zu: