Hallo,
ich starte aus einem Java-Programm über die Runtime.getRuntime().exec Methode ein externes C-Progamm.
Das Problem ist, dass dieses Programm (dieser Prozess) im Hintergrund läuft, während das Java-Programm noch als GUI fungiert und Benutzereingaben entgegennehmen soll, während das Programm im Hintergrund rechnet.
Auf neuen Prozessoren mit Hyper-Threading-Technologie ist das auch kein Problem und es funktioniert wunderbar, auf etwas älteren Prozessoren, klappt's aber leider nicht mehr, weil die CPU-Last für das externe Programm bei 100% liegt.
Der langen Rede kurze Frage: Kann ich irgendwie (sei es in C/C++ oder in Java) die Rechenkapazität für den Prozess einschränken und ihm so etwas sagen wie "Du darfst aber nur max. 50% der CPU-Last benutzen"?
Geht das in irgendeiner Form?? (Ich habe _nicht_ den Quellcode des aufgerufenen C-Programms zur Verfügung).
Vielen Dank für die Hilfe!
Philipp
ich starte aus einem Java-Programm über die Runtime.getRuntime().exec Methode ein externes C-Progamm.
Das Problem ist, dass dieses Programm (dieser Prozess) im Hintergrund läuft, während das Java-Programm noch als GUI fungiert und Benutzereingaben entgegennehmen soll, während das Programm im Hintergrund rechnet.
Auf neuen Prozessoren mit Hyper-Threading-Technologie ist das auch kein Problem und es funktioniert wunderbar, auf etwas älteren Prozessoren, klappt's aber leider nicht mehr, weil die CPU-Last für das externe Programm bei 100% liegt.
Der langen Rede kurze Frage: Kann ich irgendwie (sei es in C/C++ oder in Java) die Rechenkapazität für den Prozess einschränken und ihm so etwas sagen wie "Du darfst aber nur max. 50% der CPU-Last benutzen"?
Geht das in irgendeiner Form?? (Ich habe _nicht_ den Quellcode des aufgerufenen C-Programms zur Verfügung).
Vielen Dank für die Hilfe!
Philipp