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)//所有线程结束
    {
    //这边执行你的逻辑代码
    
    }
    }
  • 相关阅读:
    实现RHEL下KVM虚拟化
    SELinux安全扩展
    配置用户和组信息
    系统级计划任务
    syslog系统日志服务
    VNC远程连接,虚拟网络计算
    系统初始化
    备份与还原文件系统
    使用对象在方法间共享属性
    Python中*和**的使用
  • 原文地址:https://www.cnblogs.com/xuanzai/p/2733937.html
Copyright © 2011-2022 走看看