![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Snik |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 16.8.2006 Репутация: нет Всего: нет |
Добрый день! Подскажите как сделать чтобы эта программка вывела последнее сообщение sum = 600.0
|
|||
|
||||
| alexadr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 25.9.2006 Репутация: 4 Всего: 4 |
если сделать вот такой код, то переменная sum в итоге станет = 600, но вот когда она распечатает это значение, - неизвестно. Код сделан так, что любой из потоков может сделать вывод даннх первым или 2-м или 3-м.
|
|||
|
||||
| ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 33 Всего: 81 |
||||
|
||||
| alexadr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 25.9.2006 Репутация: 4 Всего: 4 |
||||
|
||||
| ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 33 Всего: 81 |
||||
|
||||
| alexadr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 25.9.2006 Репутация: 4 Всего: 4 |
да вроде переменная то статик:
поэтому все потоки работают с одним объектом |
|||
|
||||
| ivg |
|
||||||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 33 Всего: 81 |
Объектная переменная в Java - это, по сути, ссылка на объект, и синхронизация происходит не на ней, а именно на том объекте, на который она ссылается. В качестве примера - предлагаю многократно позапускать такой код:
|
||||||
|
|||||||
| alexadr |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 112 Регистрация: 25.9.2006 Репутация: 4 Всего: 4 |
эээ, да вот с этим согласен:
прогнал че-то... |
|||
|
||||
| Snik |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 174 Регистрация: 16.8.2006 Репутация: нет Всего: нет |
Обязательно применять метод synchronized если мне не важно какой из потоков изменит sum первым ?
|
|||
|
||||
| Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 16 Всего: 40 |
Не вдаваясь в подробности темы, скажу, что необходимо, потому что значение в 1 момент времени могут устанавливать 2 потока, и из двух одновременных операций будет засчитана только одна.
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |