Использует ли соединение для ожидания завершения потока, так же, как использование наблюдателя для уведомления вызывающего класса потока о завершении потока?
Using join -
public class Reader {
Thread t = new Thread(new ReadContent());
t.start();
t.join();
System.out.println("Thread has finished");
public class ReadContent() implements Runnable{
}
public void run() {
readContentURL();
}
}
/*****************************************************************************/
Using observer -
public interface ReadContentListener{
public void contentRead();
}
public class Reader implements ReadContentListener {
Thread t = new Thread(new ReadContent(this));
t.start();
pubic void contentRead(){
System.out.println("Thread has finished");
}
public class ReadContent implements Runnable{
public ReadContent(ReadContentListener readContentListener) {
this.readContentListener = readContentListener;
}
public void run() {
readContentURL();
this.readContentListener.contentRead();
}
}
/*************************************************************/
public GenericScreenAnimation(String nextScreen, Thread genericWorkerThread)
{
this.genericWorkerThread = genericWorkerThread;
this.genericWorkerThread.start();
initialise();
try {
this.genericWorkerThread.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
ScreenController.displayNextScreen(nextScreen);
}