zoukankan      html  css  js  c++  java
  • 多线程判断全部线程是否已经全部结束

    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();
    
    }
    //然后线程结束的时候这样增加一个
    finally
    try{
    //.....read file(i);
    }
    catch(Exception e){
    e.printStackTrace();
    } finalliy{             //增加这个finally
    synchronized (this) {
    this.count--;
    }
    }
    }
    
    //在main函数中当
    while(true)
    {
    if(ReadFileThread.count==0)//所有线程结束
    {
    //这边执行你的逻辑代码
    
    }
    }
  • 相关阅读:
    [比赛|考试]9.21上午考试
    给花_Q
    [比赛|考试] 9.17下午考试
    [比赛|考试]nowcoder NOIP提高组组第二场
    图论
    生成函数
    P4197 Peaks
    3942: [Usaco2015 Feb]Censoring
    P2245 星际导航
    P3565 [POI2014]HOT-Hotels
  • 原文地址:https://www.cnblogs.com/xuanzai/p/2733937.html
Copyright © 2011-2022 走看看