PrintWriter如何与Java中的线程一起使用? [重复]

问题描述 投票:-1回答:1

我不知道为什么这两个案例的输出有所不同。.case 1:-线程运行方法

public void run() {
        PrintWriter pw=new PrintWriter(System.out);
        for (int i = 0; i < 30; i++) {
            pw.print(i);
        }
        pw.close();
    }

它打印从0到30的所有数字

。情况2:-

 public void run() {
            for (int i = 0; i < 30; i++) {
                PrintWriter pw=new PrintWriter(System.out);
                pw.print(i);
                pw.close();
            }
        }

它仅打印0

我不知道有线程时printWriter的工作方式,在线程中使用printWriter和System.out.println()有什么区别?

java printwriter
1个回答
0
投票

与线程无关。问题是,当您关闭PrintWriter时,您将关闭基础流。哪个(恐怖)恰好是System.out

代替pw.close()执行pw.flush()

不要关闭不是您的流:)

© www.soinside.com 2019 - 2024. All rights reserved.