Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> OutputStream, OutputStream и сихронизация. 
:(
    Опции темы
val
Дата 17.5.2007, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Program developer
**


Профиль
Группа: Участник Клуба
Сообщений: 992
Регистрация: 14.1.2003
Где: г. Киев

Репутация: нет
Всего: 7



Привет, всем. Можно ли из разных потоков писать в один и тот же OutputStream без выполнения синхронизации...


--------------------
Терпимость - величайшее благо человечества...
Ярчайший признак интеллекта – постоянно хорошее настроение…
PM MAIL ICQ   Вверх
tipoc
Дата 17.5.2007, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 20.3.2004

Репутация: 1
Всего: 1



Очевидно нет. Объект то один, а потоков, которые работают с этим объектом - два. Хотя если методы, которые ты будешь вызывать у объекта OutputStream, каким-то образом уже синхронизированы, то синхронизация не потребуется.
PM ICQ   Вверх
ekr
Дата 17.5.2007, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


...и это пройдет...
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 6.5.2007
Где: Moscow, RU

Репутация: 3
Всего: 19



)))
Вспоминается старый анекдот:
-Па, а эти грибы можно есть?
-Можно, сынок, можно. Только умрешь потом...

Цитата

Можно ли из разных потоков писать в один и тот же OutputStream без выполнения синхронизации...

Можно ))) Только данные могут попасть в поток не в том порядке, в каком предполагалось )

Цитата

Очевидно нет. Объект то один, а потоков, которые работают с этим объектом - два.

Ну почему же? Попробуйте для иллюстрации из двух потоков писать в консоль... Все работает.


--------------------
и это пройдет....

http://ekrs.blogspot.com
PM WWW   Вверх
tipoc
Дата 18.5.2007, 00:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 60
Регистрация: 20.3.2004

Репутация: 1
Всего: 1



Цитата

Ну почему же? Попробуйте для иллюстрации из двух потоков писать в консоль... Все работает.

Не факт, что будет всегда корректно выводить данные. Зависит от реализации потока OutputStream. Хотя в большинстве случаев подозреваю будет работать корректно.
PM ICQ   Вверх
ekr
Дата 18.5.2007, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


...и это пройдет...
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 6.5.2007
Где: Moscow, RU

Репутация: 3
Всего: 19



Цитата

Хотя в большинстве случаев подозреваю будет работать корректно

Да, я тоже так считаю.
Окончательно ситуацию может прояснить исходник класса. Есть ли у используемого XXXOutputStream модификаторы synchronized для методов или synchronized-секции внутри оных.


--------------------
и это пройдет....

http://ekrs.blogspot.com
PM WWW   Вверх
Samotnik
Дата 18.5.2007, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



2 val

Цитата(val @  17.5.2007,  13:13 Найти цитируемый пост)
Можно ли из разных потоков писать в один и тот же OutputStream без выполнения синхронизации

Вряд ли, даже если компилятор пропустит и прога запуститься на выполнение, вряд ли все сработает корректно, это как минимум "плохой стиль программирования"!!!!

Мой те совет пиши либо два OutputStream ,либо синхронезируй. И ни ипацца  smile 

PM MAIL   Вверх
ekr
Дата 18.5.2007, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


...и это пройдет...
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 6.5.2007
Где: Moscow, RU

Репутация: 3
Всего: 19



Цитата

Вряд ли, даже если компилятор пропустит 

пропустит )
Цитата

"плохой стиль программирования"

просто четко надо понимать возможные последствия несинхронизированной записи


--------------------
и это пройдет....

http://ekrs.blogspot.com
PM WWW   Вверх
Samotnik
Дата 18.5.2007, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



Цитата(ekr @  18.5.2007,  00:47 Найти цитируемый пост)
просто четко надо понимать возможные последствия несинхронизированной записи 

Ну оно конечно так, всегда нуна представлять че будет при написании данного кода.  Но иногда  сидиш продумываеш, пишишь, затем запускаеш, а на экране или беконечный цикл или ексепшены выскакивают один за другим. Или еще какая нить хрень. 
Вод для этого и следует читать разделы "хороший стиль программирования", т.к. у людей это все было и они могут че нить дельное посоветывать!!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1356 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.