Этот вопрос не имеет однозначный ответ ...
Writer
, что суперкласс PrintWriter
явно упоминает в своей конструкторской документации, что все критические секции синхронизации либо на самом Writer
, например, или с явной заданного объекта.Следовательно, Writer
явно потокобезопасен ...
К сожалению, документация подкласса PrintWriter
не дает никаких явных выражений. Он наследует объект блокировки , но нет способа узнать, все ли дополнительные или переопределенные методы по-прежнему являются потокобезопасными.
С другой стороны, насколько я могу судить, Sun/OpenJDK PrintWriter
implementation содержит synchronized
блоков практически в каждом методе. Но, похоже, это явно не документированное поведение.
Я предпочел бы не рискуйте и предположим, что PrintWriter
не поточно-, чем полагаться на незарегистрированной поведение и сожалеть об этом в долгосрочной перспективе ...
[Этот ответ] (http://stackoverflow.com/a/714424/1079354) может пролить свет на него. – Makoto
Возможный дубликат [Является ли поток PrintWriter сокета Java безопасным?] (Http://stackoverflow.com/questions/714287/is-a-java-sockets-printwriter-thread-safe) –
Я действительно видел это. Это не совсем тот же вопрос, и никаких данных нет. – H2ONaCl