Ereignisgesteuerte Simulationsklasse

Ich arbeite gerade an einigen Übungen in der C ++ - Programmiersprache von Bjarne Stroustrup. Ich bin verwirrt von Problem 11 am Ende von Kapitel 12:

(* 5) Entwerfen und implementieren Sie eine Bibliothek zum Schreiben ereignisgesteuerter Simulationen. Hinweis: <task.h>. ... Ein Objekt einer Klassenaufgabe sollte in der Lage sein, seinen Zustand zu speichern und wiederherzustellen, damit es als Coroutine arbeiten kann. Bestimmte Aufgaben können als Objekte von Klassen definiert werden, die von Aufgaben abgeleitet sind. Das von einer Task auszuführende Programm kann als virtuelle Funktion definiert werden. ... Es sollte einen Scheduler geben, der ein Konzept der virtuellen Zeit implementiert. ... Die Aufgaben müssen kommunizieren. Entwerfen Sie dafür eine Klassenwarteschlange. ...

Ich bin nicht sicher, wonach genau das verlangt. Ist eine Aufgabe ein separater Thread? (Soweit ich weiß, ist es nicht möglich, einen neuen Thread ohne Systemaufrufe zu erstellen, und da es sich um ein Buch über C ++ handelt, glaube ich nicht, dass dies beabsichtigt ist.) Wie ist es möglich, einen laufenden Thread ohne Unterbrechungen zu starten und zu stoppen Funktion? Ich gehe davon aus, dass dies ein geschäftiges Warten beinhalten würde (das heißt, eine Schleife fortlaufend durchführen und eine Bedingung prüfen), obwohl ich nicht sehen kann, wie dies auf eine Funktion angewendet werden könnte, die möglicherweise für einige Zeit nicht beendet wird (wenn sie zum Beispiel eine Endlosschleife enthält). .

BEARBEITEN Bitte lesen Sie meinen Beitrag unten mit weiteren Informationen.

Antworten auf die Frage(16)

Ihre Antwort auf die Frage