首页 > 编程语言 > 详细

多线程

时间:2020-01-18 22:55:36      阅读:83      评论:0      收藏:0      [点我收藏+]

1. 继承Thread类
2. 实现Runnable接口
3. 匿名类的方式

注: 启动线程是start()方法,run()并不能启动一个新的线程

package multiplethread;
  
import java.io.File;
  
public class TestThread {
  
    public static void search(File file, String search) {
        if (file.isFile()) {
            if(file.getName().toLowerCase().endsWith(".jsp")){
                //当找到.jsp文件的时候,就启动一个线程,进行专门的查找
                new SearchFileThread(file,search).start();
            }
        }
        if (file.isDirectory()) {
            File[] fs = file.listFiles();
            for (File f : fs) {
                search(f, search);
            }
        }
    }
      
    public static void main(String[] args) {
        File folder =new File("D:\\project");
        search(folder,"include");
    }
}

  

package multiplethread;
 
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
 
public class SearchFileThread extends Thread{
 
    private File file;
    private String search;
    public SearchFileThread(File file,String search) {
        this.file = file;
        this.search= search;
    }
     
    public void run(){
        String fileContent = readFileConent(file);
        if(fileContent.contains(search)){
            System.out.printf("找到子目标字符串%s,在文件:%s%n",search,file);
        }
    }
     
    public String readFileConent(File file){
        try (FileReader fr = new FileReader(file)) {
            char[] all = new char[(int) file.length()];
            fr.read(all);
            return new String(all);
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
  
    }  
 
}

  

多线程

原文:https://www.cnblogs.com/tao7/p/12210364.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!