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 

Run in UI-Thread in 8.5



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!

25.01.2008, 11:12
Beitrag #7

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Run in UI-Thread in 8.5
' schrieb:Hi

@ Jens: Ok, dann gibt es das Fenster wohl nur beim LV dll import. Dachte sowas gibt es dann auch beim Export. Mein Fehler.
@ Rolf: Ich möchte von, den in der dll enthaltenen Funktionen, mehrere Instanzen in meinem Python Programm erzeugen. Bei der Ausgabe von meinen Python Programm Daten sieht das aber so aus, als würde nur eine Instanz erstellt werden. Daher will ich gerade prüfen ob meine dll Thread safe ist oder nicht. Bim Erzeugen der dll hab ich darauf nicht geachtet.

Meinst du diese Einstellungen:

[attachment=37878:2008_01_25_084809.jpg]
Ich hab mir die Hilfe dazu mal durchgelesen aber leider nicht ganz verstanden ob sie damit das Aufrufen von einem externen Programm meinen.
Gruß
HP

Ja das meine ich und ist absolut unabhängig davon ob das VI aus LabVIEW direkt aufgerufen wird oder innerhalb der Runtimeumgebung von einem DLL Funktionswrapper.

Aber ich denke mal dass Du ein prinzipielles Problem hast hier. Wenn Du eine Funktion mehrmals parallel aufrufen willst, willst Du gerade nicht, dass diese automatisch in den UI Thread gezwungen wird. Dann wird der Aufrufer für den zweiten und dritten Aufruf nämlich blockiert bis der erste Aufruf beendet ist. Das kann nicht anders.
Bleibt auch noch die Frage ob den Python so einfach mehrere Threads möglich macht. Solange Deine aufrufende Umgebung nur einen Thread hat macht es eh nichts aus wie die DLL konfiguriert ist.

Was Du mit mehreren Funktionsinstanzen meinst ist mir auch nicht deutlich. Funktionen sind nicht Objekte die man instantieren kann. Funktionen kann man aufrufen (eventuel mehrmals parallel) und die kehren irgendwann mal wieder zurück. Ob man sie mehrmals gleichzeitig aufrufen kann hängt nur davon ab ob sie reentrant sind. Und das ist eine Funktion abhängig davon ob sie nur lokale Variablen haben (dann sind sie reentrant) oder aber auch auf globale Resourcen zugreifen (File IO, Hardware ganz allgemein, globale Variablen und dergleichen). In dem Fall sind sie entweder protected (ein Semaphore oder so verhindert den gleichzeitigen Zugriff auf die globale Resource bei Mehrfachaufrufen) oder single threaded (der Aufrufer ist selber dafür verantwortlich um die Funktion nicht mehrmals parallel aufzurufen).

So wie es mir scheint hast Du bis jetzt entweder die Begriffsterminologie noch nicht so ganz korrekt, oder das Verständnis von Multithreading ist nicht korrekt oder beides davon.

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
Run in UI-Thread in 8.5 - HarryPython - 24.01.2008, 18:11
Run in UI-Thread in 8.5 - Y-P - 24.01.2008, 20:03
Run in UI-Thread in 8.5 - HarryPython - 25.01.2008, 09:04
Run in UI-Thread in 8.5 - jg - 25.01.2008, 09:57
Run in UI-Thread in 8.5 - rolfk - 25.01.2008, 10:18
Run in UI-Thread in 8.5 - HarryPython - 25.01.2008, 10:57
Run in UI-Thread in 8.5 - rolfk - 25.01.2008 11:12
Run in UI-Thread in 8.5 - HarryPython - 25.01.2008, 12:24
Run in UI-Thread in 8.5 - HarryPython - 25.01.2008, 14:36

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  DLL Aufruf, "In beliebigem Thread" vs. "Im UI-Thread" (Beispiel fileVersionInfo.llb) dali4u 1 5.417 12.12.2012 09:38
Letzter Beitrag: rolfk

Gehe zu: