Verwendung in einer Multithreading-Umgebung |
Multithreading-Umgebung Die Dynamic Link Library GeoDLL kann in Singlethreading- und Multithreading-Umgebungen genutzt werden. Zum sicheren Betrieb in einer Multithreading-Umgebung stellt das Betriebssystem WINDOWS geeignete Funktionen zur Verfügung, die in der DLL eingesetzt werden.
Im Prinzip wird dabei ein Flag verwendet, das den konkurrierenden Threads signalisiert, ob kritische Bereiche innerhalb der DLL gerade zur Verfügung stehen. Diese Rolle übernimmt die Critical Section der Windows-API. Für nähere Informationen suchen Sie bitte im Internet nach dem Begriff "EnterCriticalSection".
Nach dem Programmaufruf bzw. dem Laden der GeoDLL ist der Betrieb in einer Multithreading-Umgebung standardmäßig ausgeschaltet. Der erste Thread muss die Funktion setmultithreading() mit dem Parameter TRUE aufrufen, um die Multithreading-Fähigkeit herbeizuführen.
Es gibt weitere Schalter, die GeoDLL auf den Betrieb in verschiedenen Umgebungen vorbereiten. Dies sind die Funktionen:
Zur Vorbereitung für den Multithreading-Betrieb müssen die unten aufgeführten Funktionen mit den gezeigten Parametern vor der ersten geodätischen Berechnung aufgerufen werden:
|