Freigeben über


Entwickeln einer soften Real-Time-Anwendung

Sobald ein Gerät für die Echtzeitleistung konfiguriert ist, kann eine Anwendung so festgelegt werden, dass sie in Echtzeit mit standardmäßigen Win32-APIs ausgeführt wird. Die einzigen Faktoren, über die ein Thread oder ein Prozess Echtzeitleistung erhält, sind die Thread- bzw. Prozesspriorität und die CPU-Kernaffinität.

Um die Echtzeitleistung für einen bestimmten Thread oder Prozess zu erzielen, sollte sich die Priorität im Bereich der Echtzeitleistung befinden, und die Affinität sollte für die Ausführung auf die Echtzeitkerne festgelegt werden.

Konfigurieren eines Prozesses für Real-Time

  1. Verwenden Sie die SetPriorityClass-Funktion: Legen Sie das ProcessPriorityClass-Attribut auf REALTIME_PRIORITY_CLASSfest.
  2. Verwenden Sie die SetProcessAffinityMask Function, um den Prozess so festzulegen, dass er ausschließlich auf den Kernen ausgeführt wird, die für die Echtzeitanwendung reserviert sind.

Konfigurieren eines Threads für Real-Time

  1. Verwenden Sie die NtSetInformationThread-Funktion, um die ThreadBasePriority des Threads auf einen Wert zwischen 16 und 31 festzulegen.
  2. Verwenden Sie die SetThreadAffinityMask-Funktion, um den Thread so festzulegen, dass er ausschließlich auf den Kernen ausgeführt wird, die für die Echtzeitanwendung reserviert sind.