Ich muss einige Prozesssynchronisation in C machen. Ich möchte einen Monitor verwenden, und ich habe viel über sie gelesen. Ich konnte jedoch nicht herausfinden, wie man eine in C implementiert. Ich habe sie in Java und anderen Sprachen wie C++ gesehen, aber ich finde keine Beispiele in C.Wie kann ich einen Monitor in C codieren?
Ich habe durch K & R und Da ist kein Beispiel drin. Ich habe Unix Systems Programming, Kommunikation, Concurrency und Threads überflogen, konnte dort aber keine Monitorimplementierung finden.
Das bringt mich hierher. Wo und wie definiere ich einen Monitor? Wie implementiere ich es innerhalb des restlichen Codes?
/* Ich bin Codierung in einer * nix Umgebung */
Diese Implementierung erfolgt über eine Funktion? Ich habe einen kleineren Code wie: Überwachungsnetzwerk {/ * Code und Bedingungen hier * /} gesehen. War das Pseudo-Code oder gibt es auch Schlüsselwörter/Datenstrukturen für Monitore? –
Ich habe diese Monitorfunktion, die ich hatte, ausgeschlagen und durch eine direktere Antwort ersetzt. Wenn Sie diesen Code zurück haben möchten, lassen Sie es mich wissen, ich lese Ihre Frage einfach noch einmal und merkte, dass es nicht ganz das ist, was Sie gefragt haben. In Ihrem obigen Kommentar, dass Code, auf den Sie sich beziehen, ist Pseudocode, nach bestem Wissen, dass Konstrukt nicht in C. – JonVD
Dank, ich denke, ich werde versuchen, mine über eine Funktion mit Semaphoren in main zu implementieren und zu versuchen Verwenden Sie es, um verschiedene Threads zu überwachen. Ich muss mehr über das Thema lesen, es ist ziemlich komplex. –