Die Begriffe synchron und asynchron beziehen sich darauf, wie sich die NI-VISA-Funktionen relativ zu ihren aufrufenden Threads verhalten. Die synchrone Ausführung der NI-VISA-Funktionen verhindert, dass anderer Code im aufrufenden Thread ausgeführt wird. In manchen Situationen, wie z. B. bei der Übertragung großer Datenmengen oder wenn sichergestellt werden soll, dass die Daten so schnell wie möglich zum oder vom Gerät gelangen, kann dies wünschenswert sein.
Auf einer niedrigeren Ebene ist der aufrufende Thread unterschiedlich lange gesperrt, je nachdem, ob die Schnittstelle synchron oder asynchron ist. Für Schreibvorgänge müssen die Daten von der Entwicklungsumgebung (ADE) auf die vom Computer bereitgestellten physikalischen Ressourcen übertragen werden. Für Lesevorgänge müssen die Daten von den physikalischen Ressourcen des Geräts an die Entwicklungsumgebung übertragen werden. Beide Übertragungen müssen mehrere Speicherschichten durchlaufen.
Für einen Schreibvorgang erfolgt folgende Sequenz:
Die gleiche Sequenz erfolgt bei Lesevorgängen, jedoch in umgekehrter Reihenfolge.
Bei synchronen Operationen wird der aufrufende Thread zwischen den Schritten 4 und 5 freigegeben. Bei asynchronen Operationen wird der aufrufende Thread zwischen den Schritten 2 und 3 freigegeben. Um zwischen synchron und asynchron für Ihre Anwendung zu wählen, müssen Sie die Menge der geschriebenen oder gelesenen Daten und die Anzahl der Threads berücksichtigen, die der Anwendung zur Verfügung stehen.
Wenn eine große Datenmenge in möglichst kurzer Zeit übertragen werden muss, sollten Sie die Operation synchron ausführen, da der aufrufende Thread dadurch der Übertragung von Daten zu oder von den Hardwareressourcen gewidmet wird. Wenn der Vorgang asynchron ausgeführt wird, kann der aufrufende Thread auf andere Teile der Anwendung zugreifen, aber es dauert länger, festzustellen, ob die Daten zu oder von den Hardwareressourcen übertragen wurden.
Wenn die Anzahl der Threads, die einer Anwendung zur Verfügung stehen, im Verhältnis zur Anzahl paralleler Prozesse gering ist, wird der aufrufende Thread bei asynchroner Ausführung der NI-VISA-Operationen früher für die anderen Teile der Anwendung verfügbar. Wenn die Operation synchron ausgeführt wird, wird der aufrufende Thread der NI-VISA-Operation gewidmet, wodurch sichergestellt wird, dass sie so schnell wie möglich abgeschlossen wird, jedoch auf Kosten der Gesamtleistung der Anwendung.
Informationen zur Auswahl zwischen synchronen und asynchronen Funktionen in LabVIEW finden Sie in den untenstehenden LabVIEW-Hilfe-Links.