Hallo,
Ich weiß, hier gibt es 1000 Themen zu Threads, aber ich habe ein Verständnisproblem, glaube ich zu mindest.
Ich hab ein Programm, in dem zwei verschiedene Threads laufen. Wenn ich die Threads unabhängig laufen lasse, ist das ganze kein Problem. Nur in Thread 1 , wird weniger Rechenaufwand betrieben, in Thread 2 dagegen sehr viel durch Listen gegangen. Ich möchte, dass Thread 1 immer wartet bis Thread 2 fertig ist.
Aber erst mal zu meinem Ansatz, ich verstehe hier schon nicht, warum diese Threads sich nicht ablösen und nacheinander ablaufen?!
Die Threads werden dann in einer MainKlasse gestartet.
Kann mir jemand sagen, warum dort nichts passiert?
Danke im vorraus schon mal!
Ich weiß, hier gibt es 1000 Themen zu Threads, aber ich habe ein Verständnisproblem, glaube ich zu mindest.
Ich hab ein Programm, in dem zwei verschiedene Threads laufen. Wenn ich die Threads unabhängig laufen lasse, ist das ganze kein Problem. Nur in Thread 1 , wird weniger Rechenaufwand betrieben, in Thread 2 dagegen sehr viel durch Listen gegangen. Ich möchte, dass Thread 1 immer wartet bis Thread 2 fertig ist.
Aber erst mal zu meinem Ansatz, ich verstehe hier schon nicht, warum diese Threads sich nicht ablösen und nacheinander ablaufen?!
Java:
public class CopyOfThreadMit implements Runnable
{
public synchronized void thread1Ausgabe()
{
try
{
this.wait();
}
catch(InterruptedException e)
{
}
System.out.println("Thread 2 am Start!");
this.notifyAll();
}
public void run()
{
while(true)
{
thread1Ausgabe();
}
}
}
Java:
public class ThreadMitWaitUndSo implements Runnable
{
public synchronized void thread1Ausgabe()
{
try
{
this.wait();
}
catch(InterruptedException e)
{
}
System.out.println("Thread 1 am Start!");
this.notifyAll();
}
public void run()
{
while(true)
{
thread1Ausgabe();
}
}
}
Die Threads werden dann in einer MainKlasse gestartet.
Kann mir jemand sagen, warum dort nichts passiert?
Danke im vorraus schon mal!