在一个复杂的并发程序中,为了在两个线程之间安全地传递字符数据,程序员选择了使用`PipedReader`和`PipedWriter`。以下哪种连接方式最能体现`PipedReader`和`PipedWriter`的使用规范,并且能有效地避免潜在的线程安全和连接错误问题?
答案解析
选项A错误,`connect()` 方法只能由 `PipedReader` 调用,而不是 `PipedWriter`。选项B错误,正确的连接方式是通过 `PipedReader` 的 `connect()` 方法连接到 `PipedWriter`,而不是反过来。选项C正确, 这是管道流的典型使用方式,`PipedWriter` 由写线程创建并传递给读线程的 `PipedReader`,通过 `PipedReader` 的构造方法建立连接,是安全可靠的。选项D错误,尽管可以创建`PipedWriter`和`PipedReader`对象并将它们传递给线程,但仍然需要在其中一个线程内通过`connect()`或构造方法进行连接,直接在主线程创建然后在子线程内部`connect`是多此一举,且并不符合其设计模式。因此,选项C最符合`PipedReader`和`PipedWriter`的使用规范且没有潜在的线程安全问题。
正确答案:C