【问题标题】:How add Multi-Thread to BufferedReader from text file?如何从文本文件向 BufferedReader 添加多线程?
【发布时间】:2019-03-12 08:38:08
【问题描述】:

我想从文本文件中添加多线程 BufferedReader

所以它将是来自 1 个文本文件的 2 个线程

===================

输出:

你好。我是哈立德。

(你好 = 线程 1) (我是 Khalid = Thread2)


这是我没有线程的代码:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class KhalidThread  {

    public static void main(String[] args) throws IOException {
        BufferedReader bread = null;
        try{
            bread = new BufferedReader(new FileReader("C:\\k.txt"));
            String line, content="";
            while((line = bread.readLine()) !=null){
                content += line + "\r\n";
            }
            System.out.print(content);
        }
        finally{
            if(bread!=null){
                bread.close();
            }
        }
    }

}

【问题讨论】:

    标签: multithreading bufferedreader


    【解决方案1】:

    您可以尝试这样做:

    public static void main(String[] args) throws IOException {
    
        BufferedReader bread = new BufferedReader(new FileReader("D:\\k.txt"));
        RunnableClass rc = new RunnableClass(bread);
    
        Thread t1 = new Thread(rc, "Thread1");
        Thread t2 = new Thread(rc, "Thread2");
    
        t1.start();
        t2.start();
    }
    
    static class RunnableClass implements Runnable {
        private BufferedReader bread = null;
    
        RunnableClass(BufferedReader bread) {
            this.bread = bread;
        }
    
        @Override
        public void run() {
    
            try {
                synchronized (bread) {
                    String content = bread.readLine();
                    System.out.println(content + " = " + Thread.currentThread().getName() );
                }
    
            } catch (IOException e) {
                e.printStackTrace();
            }
    
        }
    
    }
    

    【讨论】:

    • 谢谢杰西先生!我还添加了加入方法来订购线程:t1.start(); t1.join();
    猜你喜欢
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    • 2010-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-01
    相关资源
    最近更新 更多