Multitasking beschreibt die Fähigkeit des Betriebssystems, schnell zwischen verschiedenen Tasks zu wechseln, wobei der Eindruck entsteht, dass diese Tasks zeitgleich ausgeführt werden. Bei Windows 3.1 z. B. entspricht ein Task gewöhnlich einer Anwendung wie Microsoft Word, Microsoft Excel oder LabVIEW. Jede Anwendung läuft für eine kurze Zeit, bevor die nächste beginnt. Windows 3.1 verwendete eine Technik, die auch als kooperatives Multitasking bezeichnet wird, wobei sich das Betriebssystem darauf verlässt, dass laufende Anwendungen die Steuerung des Prozessors in regelmäßigen Intervallen an das Betriebssystem abgeben. Windows basiert auf preemptivem Multitasking, wobei das Betriebssystem die Steuerung des Prozessors zu jeder Zeit übernehmen kann, unabhängig vom Zustand der Anwendung, die gerade ausgeführt wird. Preemptives Multitasking garantiert eine bessere Kommunikation mit dem Anwender und einen höheren Datendurchsatz.

Mit Multithreading wird die Idee des Multitasking auf Anwendungen erweitert, so dass spezifische Operationen innerhalb einer einzigen Anwendung in einzelne Threads unterteilt werden können, die theoretisch alle parallel nebeneinander laufen können. So kann das Betriebssystem die Bearbeitungszeit nicht nur unter verschiedenen Anwendungen aufteilen, sondern auch unter verschiedenen Threads innerhalb einer Anwendung. In einem LabVIEW-Multithread-Programm kann beispielsweise eine Anwendung in drei unterschiedliche Threads für die Benutzeroberfläche, die Datenerfassung und die Gerätesteuerung unterteilt werden. Jedem dieser Threads kann eine bestimmte Priorität zugeordnet werden und die Threads können unabhängig voneinander arbeiten. Auf diese Weise können bei Multithread-Anwendungen verschiedene Tasks parallel mit anderen Anwendungen ausgeführt werden.

Multiprocessing oder Multicore-Programmierung bezieht sich auf mehrere Prozessoren in einem Rechner, wobei jeder Prozessor einen separaten Thread ausführen kann. Eine einfache Thread-Anwendung kann also nur auf einem Prozessor zeitgleich ausgeführt werden. Bei einer Multithread-Anwendung können mehrere Threads zeitgleich auf mehreren Prozessoren ausgeführt werden. In dem LabVIEW-Multithread-Beispiel könnte der Datenerfassungs-Thread in einem Prozessor ablaufen während der Thread für die Benutzerschnittstelle in einem anderen Prozessor ausgeführt wird. Anwendungen mit nur einem Thread können ernsthafte Auswirkungen auf die Systemleistung haben.

Hinweis Mit Hilfe des LabVIEW Desktop Execution Trace Toolkits lassen sich Thread-Verwendung, Speicherlecks und andere Aspekte der LabVIEW-Programmierung überwachen.