wie kann ich die Zahl der erzeugte Kind-Prozesse (bzw. Threads) überwachen?
Hallo,
um mein c Programme schnelle zu machen, habe ich Kind-Prozesse (bzw. Threads) genutzt.
aber ich habe ein Problem und zwar es muss die Zahl der gezeugte Kind-Prozesse (bzw. Threads) begrenzt sein, um eine Überlastung des Rechners zu vermeiden.
wie kann ich die Zahl der erzeugte Kind-Prozesse (bzw. Threads) überwachen?
Ich habe einfach eine globale Variable verwendet, bei der Erzeugung von Thread/Prozess inkrementiert und bei seiner Beendigung dekrementiert.
Ich bin jedoch nicht sicher ob dieser der sicherste Weg ist, um maximal Zahl von Erzeugten Thread/Prozess zu überwachen.
Danke im vorraus
LG maya2027
1 Antwort
Verwende einen Thread-/Process-Pool.
Da erzeugst du am Anfang einen Haufen Threads/Processes und übergibst denen dann Tasks bzw. sagst ihnen, wann sie mit dem Ausführen ihrer Aufgaben beginnen sollen.
Oder aber du machst das so, wie du es jetzt machst, dass du zählst, wie viele es sind. Da musst du dann nur schauen, dass du das Zählen threadsicher implementierst.