L'exécution d'un programme écrit sous LabVIEW est foncièrement différente de ceux faits avec d'autres langages de développement, tels le C ou le Java, où les instructions sont traitées séquentiellement.
Sous LabVIEW, l'exécution d'un VI est basée non pas sur des instructions effectuées séquentiellement mais sur l'évolution de ses données de départ : on part d'une ou plusieurs entrées, auxquelles on applique un certain nombre d'opérateurs (ou de fonctions), pour obtenir au final des sorties.
On parle alors de
flux de données.
Le second point important est le fait que, dès qu'un opérateur a toutes ses entrées définies, il est calculé.
Ce principe a pour conséquence le fait que plusieurs operateurs peuvent théoriquement être exécutés en même temps, d'où le terme d'
exécution parallèle.
Ce terme est relativement impropre car, en réalité, ils sont bien exécutés l'un après l'autre mais dans un ordre totalement imprévisible.
Cependant, la prise en charge des multi-cœurs et les multiprocesseurs donnera aux nouvelles versions de LabVIEW un véritable fonctionnement parallèle.
Prenons l'exemple ci-dessus pour illustrer le fonctionnement.
LabVIEW part des 4 entrées : il transmet leur donnée aux 3 operateurs +, - et ×.
Les 2 premiers operateurs + et - ont maintenant toutes leurs 2 entrées complètes de sorte qu'ils peuvent être exécutés à l'étape suivante en même temps.
Il manque encore la première entrée à l'opérateur × ce qui fait qu'il va falloir attendre la troisième étape (après le calcul du +) pour pouvoir faire cette opération.
A la fin, toutes les opérations sont effectuées et toutes les sorties sont déterminées de sorte que LabVIEW s'arrête.