簡體   English   中英

為什么只有mark()和reset()方法在java.io.InputStream中同步?

[英]Why only mark() and reset() method are synchronized in java.io.InputStream?

不明白為什么mark()和reset()是同步的,為什么read()不同步?

java.io.InputStream是一個抽象類。 它具有標記/重置的默認實現,該實現僅在重置時拋出異常,告知不支持該異常,因此不支持該標記的子類不需要編寫自己的方法來拋出異常。 對於默認情況,“同步”對於引發異常沒有用。

任何支持它的子類都必須重寫這些方法,並且同步不會被繼承,因此被覆蓋的方法可能會同步,也可能不會同步。

我認為這沒有任何作用。

我猜這是一個設計缺陷,沒有后果,或者可能是一個警告,所以程序員也應該將其子類化以同步這些方法,因為應該采用這種方式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM