Rae*_*ald 8 java io multithreading
我已经看到了两个关于SO的答案,声称Java提供的PipedInputStream和PipedOutputStream类是有缺陷的.但他们没有详细说明他们的错误.他们真的有缺陷,如果是这样的话?我正在编写一些使用它们的代码,所以我想知道我是否采取了错误的转向.
一个答案说:
PipedInputStream并且PipedOutputStream被打破(关于穿线).他们假设每个实例都绑定到一个特定的线程.这很奇怪.
对我来说,这似乎既不奇怪也不破碎.也许作者也有其他一些缺陷?
另一个答案说:
在实践中,最好避免使用它们.我已经用了13年一次,我希望自己没有.
但是那位作者无法回想起问题所在.
与所有类一样,尤其是在多个线程中使用的类,如果您滥用它们,则会遇到问题.所以我不考虑不可预知的"写入结束死"IOException是PipedInputStream可以抛出是一大败笔(无法close()连接的PipedOutputStream是一个错误,请参阅文章请告诉我这IOException异常:写入结束死了吗?,由丹尼尔·Ferbers,以获取更多信息).有什么其他声称的缺陷?
Rae*_*ald 10
它们没有缺陷.
与所有类一样,尤其是在多个线程中使用的类,如果您滥用它们,则会遇到问题.不可预知的"写入结束死" IOException即PipedInputStream可以抛出不是一个缺陷(无法close()连接的PipedOutputStream是一个错误,请参阅文章请告诉我这IOException异常:写入结束死了吗?,由丹尼尔·Ferbers,以获取更多信息).
| 归档时间: |
|
| 查看次数: |
12353 次 |
| 最近记录: |