マルチスレッドは、すべてのスレッドがすべて終了したかどうかをどのように判断しますか?


閲覧回数:1904回
class ReadFileThread implements Runnable

{

 

 int i=0;

 public ReadFileThread(int i){

  this.i=i;

 }

 public void readFileThread(int i){



  try{

   //.....read file(i);

  }

  catch(Exception e){

   e.printStackTrace();

  }

 }

 public void run(){

  try

  {

   this.readFileThread(i);

  }

  catch(Exception e)

  {

   



  }

 }

}





public class TextThread

{

 public static void main(String[] args){



  for(int i=0;i<10;i++){

   new Thread(new ReadFileThread(i)).start();

   }

 }



}





 10 , , 。 Stop ? 。 

補足:
 isAlive , Runable

 
満足のいく回答
class ReadFileThread implements Runnable
{
静的変数countの設定
public static int count=0;
スレッドを作成するたびにcount++
public static void main(String[] args){
for(int i=0;i<10;i++){
ReadFileThread.count++;
new Thread(new ReadFileThread(i)).start();
}
そしてスレッドが終わるとこのように1つ増えます
finally
try{
//.....read file(i);
}
catch(Exception e){
e.printStackTrace();
}finalliy{//このfinallyを追加
synchronized (this) {
this.count--;
}
}
}
main関数で
while(true)
{
if(ReadFileThread.cont==0)/すべてのスレッド終了
{
//こちらで論理コードを実行します
}
}