J
Jenny
Gast
Hallo,
ich möchte nebenläufige Anwendungen testen bzw. am Besten testgetrieben entwickeln. Hab mir jetzt einige Frameworks angesehen und finde z.B. MultithreadedTC und GroboUtils interessant. Weiß aber nicht so richtig wie man da Tests schreibt die zum Beispiel den Code auf Deadlocks oder Race Conditions prüfen.
Kann mal jemand einen guten Link oder Beispiel Code einstellen? Oder gibt es noch andere Frameworks um solche Anwendungen zu testen? Bin für jeden Tipp dankbar!
Achso mal ein kleines Beispiel für einen Code mit Deadlock den ich gerne Testen möchte.
ich möchte nebenläufige Anwendungen testen bzw. am Besten testgetrieben entwickeln. Hab mir jetzt einige Frameworks angesehen und finde z.B. MultithreadedTC und GroboUtils interessant. Weiß aber nicht so richtig wie man da Tests schreibt die zum Beispiel den Code auf Deadlocks oder Race Conditions prüfen.
Kann mal jemand einen guten Link oder Beispiel Code einstellen? Oder gibt es noch andere Frameworks um solche Anwendungen zu testen? Bin für jeden Tipp dankbar!
Achso mal ein kleines Beispiel für einen Code mit Deadlock den ich gerne Testen möchte.
Code:
public class Deadlock {
private static ClassA classA = new ClassA();
private static ClassB classB = new ClassB();
public static void methodOne() {
synchronized (classA) {
try {
Thread.sleep(50);
} catch (final InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
synchronized (classB) {
System.out.println("Do something methodOne");
}
}
}
public static void methodTwo() {
synchronized (classB) {
try {
Thread.sleep(50);
} catch (final InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
synchronized (classA) {
System.out.println("Do something methodTwo");
}
}
}
public static void main(final String[] args) {
final Thread thread1 = new Thread() {
@Override
public void run() {
methodOne();
}
};
final Thread thread2 = new Thread() {
@Override
public void run() {
methodTwo();
}
};
thread1.start();
thread2.start();
}
}