在多线程环境下,若两个线程分别使用`PipedWriter`和`PipedReader`进行字符数据传输,下列关于管道字符流的连接和使用方式的描述中,哪个是完全正确的,并且能确保线程安全且数据正确传输?

答案解析

选项A错误,`PipedWriter`和`PipedReader`的设计初衷就是用于线程间通信,因此它们必须在不同的线程中使用。选项B错误,`PipedWriter`的构造方法是无法传入`PipedReader`实例的,应该将`PipedWriter`实例传入`PipedReader`的构造方法或者使用`connect()`方法。选项C正确,`PipedReader`的构造方法可以接收一个`PipedWriter`实例,或者可以使用`connect()`方法进行连接,并且管道流内部已经考虑了基本的同步问题,无需用户显式同步。选项D错误, 虽然`PipedWriter`和`PipedReader`一般在不同的线程中使用,但显式使用`connect()`或`PipedReader`构造方法传入`PipedWriter`实例是必须的,并且管道流本身提供了基本的线程安全保障,无需额外的同步处理。综合来看,C选项最准确地描述了管道流的使用方式。
正确答案:C
随机推荐
开始刷题