Как позволить основному потоку подождать и уведомить дочерний поток

#java #multithreading

#Ява #многопоточность

Вопрос:

в основном потоке есть while(true), и он будет контролировать ввод с клавиатуры,а дочерний поток будет контролировать ввод сервера,также есть while(true) в дочернем потоке,поэтому, когда я получаю сообщение с сервера, я хочу, чтобы основной поток подождал, пока я завершу дочерний поток; есть коды

 //the main thread  class MainThread{  public static void main(String[] arg){  while(true){  new ChlidThread.start();  Scanner s=new Scanner();  String mainChoice=s.next();  //any code;  }  }  }  class ChildThread extends Thread{  public static void main(String[] arg){  //this will motitor the server and receive the message from the server  while(true){  //any code  if(message.type==Message.type.RECEIVE_MESSAGE){  Scanner s=new Scanner();  String childChoice=s.next();  }  }  }  }  } above are the codes; and when I receive the message from the server ,I type the choice ,it will be given the mainChoice,but I want to give it to childChoice;and I have add  sychronized(lock)//lock is the element of the mainThread; {lock.wait(); } //the childThread code sychronized(lock){ lock.notify(); }  

но это не работает;так что кто-нибудь может мне помочь?