Java 扫描仪的含义是';t同步

Java 扫描仪的含义是';t同步,java,java.util.scanner,bufferedreader,Java,Java.util.scanner,Bufferedreader,我正在研究Java中scanner和BufferedReader之间的区别,有一点我不明白,那就是 当BufferedReader处于同步状态时,扫描仪不同步。 现在有人能解释一下它的意思吗?从字面上说,它是它所说的意思。BufferedReaderAPI的关键操作是使用synchronized块实现的,而Scanner中的等效操作则不是 这意味着BufferedReader可以在多个线程1之间“安全”共享,而扫描仪则不能。扫描器本质上是非线程安全的,即使它包装了线程安全的输入源 1-实际上,

我正在研究Java中scanner和BufferedReader之间的区别,有一点我不明白,那就是

当BufferedReader处于同步状态时,扫描仪不同步。


现在有人能解释一下它的意思吗?

从字面上说,它是它所说的意思。
BufferedReader
API的关键操作是使用
synchronized
块实现的,而
Scanner
中的等效操作则不是

这意味着
BufferedReader
可以在多个线程1之间“安全”共享,而
扫描仪则不能。
扫描器
本质上是非线程安全的,即使它包装了线程安全的输入源



1-实际上,这并不能免除您对线程的思考。如果有多个线程在同一个
BufferedReader
上调用
read(…)
操作,而没有某种形式的协调,那么就无法知道哪个线程将从流中读取哪些字符。根据某些定义,这将使使用非线程安全。将字符分配到正确的线程通常对应用程序的正确性很重要。

在Java中进行同步之前,已经提出了这个问题。但是你到底在哪里看到了这句话?我不是在问scanner和BufferedReader之间的区别。我是在问BufferedReader和scanner的同步是什么意思。现在清楚了吗?可能是@Priyamal的重复。这个问题没有解决作者的问题。作者想知道
synchronized
是什么意思,这个问题从来没有解释过
synchronized
是什么,它只是多次提到这个词。对于“安全”的某种定义,不一定是直观的。当然,
Scanner
s也可以在多个线程之间安全地共享,因为“安全”的不同定义涉及外部同步。