gpt4 book ai didi

java - 同时从 StdIn 读取数据并写入 StdOut 是否安全?

转载 作者:行者123 更新时间:2023-12-01 09:52:59 24 4
gpt4 key购买 nike

代码如下:

public static void main(String[] args) throws InterruptedException {
Thread t = new Thread(new Runnable() {
public void run() {
while(true){
BufferedReader buffer=new BufferedReader(new InputStreamReader(System.in));
try {
System.out.println(buffer.readLine());
} catch (IOException e) {
e.printStackTrace();
}
}
}
});
t.start();
while(true){
System.out.println("Text");
Thread.sleep(1000);
}
}

我不太确定这样做是否真的安全。这样的代码中会出现一些 cucncurrency 错误吗?我进行了几次测试,它工作得很好,但谁知道 1000000 次尝试后它会表现如何......

最佳答案

是的,很安全。如果您查看 println 的实现,您会发现该代码是同步的:

public void println(String x) {
synchronized (this) {
print(x);
newLine();
}
}

关于java - 同时从 StdIn 读取数据并写入 StdOut 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37486131/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com