Programmabbruch erzwingen
-
Hallo zusammen,
ich stehe vor folgendem Problem: Eine umfangreiche Berechnung, soll beständig darauf achten, dass eine bestimmte Variable, die von einem anderen Thread bestimmt wird unverändert bleibt. Mit der Veränderung soll dieser Programmteil unabhängig an welcher Stelle es sich befindet beendet werden, die Daten sind dann uninteressant. Stellt ein Softwareinterupt die Lösung dar, wenn ja findet man darüber irgendwo für nicht-Informatiker Informationen?Danke für eure Anregungen
Sebastian
-
Soweit ich das verstanden habe einfach
... if(int variable != WERT) exit(variable); // kannst auch einfach break; schreiben ...
MfG cout==CSS
-
Habe deine Frage falsch verstanden, sorry!
Vergiss meine Antwort oben einfach!!MfG cout
-
Unter Windows würde ich Events als Synchronisation-Mechanismus verwenden.
mfg JJ
-
ist diese variable ein fehlerindikator? dh wenn diese variable geändert wird,ist die berechnung kaputt?
wenn ja könnte man dann net zb einen zusätzlichen thread machen, der nur diese variablen alle xx ms überprüft und dann im zweifelsfall ne exception wirft? oder würde das nur den überprüfungsthread killen?
-
Ja genau so könnte es gehen. Allerdings arbeite ich auf einem Linux Rechner und da ist das wohl mit den Threads nicht ganz so einfach ?
Auf Hinweise oder Links freut sich
Poseidonius
-
Dann schick doch den Wert mit einer Pipe zu dem anderen Thread . Dieser macht dann seine Auswertung und veranlasst demensprechend einen Kill auf den anderen Prozeß.
-
Und was die Threads angeht:
Mach mit einem fork() einfach einen Childprozess und überwache mit dem Vater, was im Child so "abgeht"
-
Conditions
http://www.llnl.gov/computing/tutorials/workshops/workshop/pthreads/MAIN.html#TerminatingThreads
http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html#SYNCHRONIZATION
...