Prozesse und Threads

Eine Anwendung besteht aus einem oder mehreren Prozessen. Ein Prozess ist in den einfachsten Worten ein ausführendes Programm. Mindestens ein Thread wird im Kontext des Prozesses ausgeführt. Ein Thread ist die Basiseinheit, der das Betriebssystem Prozessorzeit zuordnet. Ein Thread kann einen beliebigen Teil des Prozesscodes ausführen, einschließlich der Teile, die derzeit von einem anderen Thread ausgeführt werden.

Ein Auftragsobjekt ermöglicht die Verwaltung von Gruppen von Prozessen als Einheit. Auftragsobjekte sind namierbare, sicherungsfähige, Sharable-Objekte, die Attribute der ihnen zugeordneten Prozesse steuern. Vorgänge, die für das Auftragsobjekt ausgeführt werden, wirken sich auf alle Prozesse aus, die dem Auftragsobjekt zugeordnet sind.

Ein Threadpool ist eine Sammlung von Arbeitsthreads, die asynchrone Rückrufe im Namen der Anwendung effizient ausführen. Der Threadpool wird hauptsächlich verwendet, um die Anzahl der Anwendungsthreads zu reduzieren und die Verwaltung der Workerthreads bereitzustellen.

Eine Faser ist eine Ausführungseinheit, die von der Anwendung manuell geplant werden muss. Fasern werden im Kontext der Threads ausgeführt, die sie planen.

Ums (User Mode Scheduling ) ist ein einfacher Mechanismus, mit dem Anwendungen ihre eigenen Threads planen können. UMS-Threads unterscheiden sich von Fasern darin, dass jeder UMS-Thread über einen eigenen Threadkontext verfügt, anstatt den Threadkontext eines einzelnen Threads frei zu verwenden.