LabVIEWForum.de
Paralleles Abarbeiten während einer WinAPI-Funktion - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: Paralleles Abarbeiten während einer WinAPI-Funktion (/Thread-Paralleles-Abarbeiten-waehrend-einer-WinAPI-Funktion)



Paralleles Abarbeiten während einer WinAPI-Funktion - Almi - 01.12.2009 17:54

Hallo,

ich habe zwei parallele Schleifen. In einer läuft eine StateMachine und in der anderen eine Messwertabfrage über WinAPI.

Ich habe festgestellt dass während die WinAPI-Funktion die andere Schleife nicht mehr ausgefürht wird.

Ist das immer so?

Wenn ja, könnte man zwei LabVIEW Executables gleichzeitig laufen lassen, in einer die State Machine und in der anderen die Messwertabfrage. MesswertabfrageEXE würde dann der anderen EXE die Messwerte schicken. ?


Viele Grüße


Paralleles Abarbeiten während einer WinAPI-Funktion - rolfk - 01.12.2009 18:01

' schrieb:Hallo,

ich habe zwei parallele Schleifen. In einer läuft eine StateMachine und in der anderen eine Messwertabfrage über WinAPI.

Ich habe festgestellt dass während die WinAPI-Funktion die andere Schleife nicht mehr ausgefürht wird.

Ist das immer so?

Wenn ja, könnte man zwei LabVIEW Executables gleichzeitig laufen lassen, in einer die State Machine und in der anderen die Messwertabfrage. MesswertabfrageEXE würde dann der anderen EXE die Messwerte schicken. ?
Viele Grüße

Wenn die WinAPI Funktion Threadsafe ist (die meisten sind das) musst Du die Call Library Node so konfigurieren dass sie Reentrant läuft. Dann sollte sie im Thread des VIs ausgeführt werden statt im single threaded UI System.

Wenn die API Funktion die Du aufrufst aber nicht Threadsafe ist kannst Du auf diese Weise alle möglichen komischen und unangenehmen Effekte bekommen.


Paralleles Abarbeiten während einer WinAPI-Funktion - Almi - 02.12.2009 08:47

Hallo rolfk,

ich habe es so geändert, wie du beschrieben hast und es funktioniert.

Vielen Dank