schaue mir gerade synchronized threads an und hab mir mal gedacht ich schreib nen kleines Programm, um zu sehen ob ichs verstanden habe. Und anscheinend versteh ichs noch nicht. Hier mal mein Programm und danach die Erklärung, was ich mit dem Programm bewerkstelligen wollte.
Code:
public class Main
{
public String s;
public long i;
Main(String s, long i)
{
this.s = s;
this.i = i;
}
public synchronized void foo()
{
System.out.println("Start " + s + " Thread!");
try
{
Thread.sleep(i);
wait();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
System.out.println("End " + s + " Thread!");
}
public static void main(String argv[])
{
new Thread()
{
public void run()
{
Main m = new Main("First", 3000);
m.foo();
}
}.start();
Main m = new Main("Second", 0);
m.foo();
}
}
p.s.: Vorsicht Deadlock >:3






