H
HansHans
Gast
Hallo,
Ich habe eine Klasse geschrieben, welche ein übergebenes Objekt bzw. die dahinterstehende Klasse auf Thread Safety bzw. auf Deadlocks testen soll.
Für die Thread Sicherheit wird eine annotierte Methode durch mehrere Threads parallel ausgeführt.
Für den Deadlocktest werden alle annotierten Methoden gleichzeitg durch mehrere Threads ausgeführt.
Nun kommt es zb beim Deadlocktest eben zu einem stillstand (wenn man eine Klasse übergibt deren annotierte methoden sich gegenseitig blockieren durch entsprechende locks).
Wie schaffe ich es nun aber dass eine Exception erzeugt wird? Muss ich hierfür über einen Timeout gehen? Oder gibts da evtl. schon eine Deadlockerkennung in der JVM?
Eine Andere Frage ist: Wie erkenne ich eine Race Condition?
Danke für eure Hilfe.
Gruß
Ich habe eine Klasse geschrieben, welche ein übergebenes Objekt bzw. die dahinterstehende Klasse auf Thread Safety bzw. auf Deadlocks testen soll.
Für die Thread Sicherheit wird eine annotierte Methode durch mehrere Threads parallel ausgeführt.
Für den Deadlocktest werden alle annotierten Methoden gleichzeitg durch mehrere Threads ausgeführt.
Nun kommt es zb beim Deadlocktest eben zu einem stillstand (wenn man eine Klasse übergibt deren annotierte methoden sich gegenseitig blockieren durch entsprechende locks).
Wie schaffe ich es nun aber dass eine Exception erzeugt wird? Muss ich hierfür über einen Timeout gehen? Oder gibts da evtl. schon eine Deadlockerkennung in der JVM?
Eine Andere Frage ist: Wie erkenne ich eine Race Condition?
Danke für eure Hilfe.
Gruß