![]() |
Модераторы: javastic, AntonSaburov |
![]() ![]() ![]() |
|
Рамирос |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 4.2.2010 Репутация: -2 Всего: -3 |
Я так понял синхронизировать нада только ОБЬЕКТЫ которые нада ИЗМЕНЯТЬ???
Переменные сихронизировать ненада? |
|||
|
||||
Zыыыыы |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 10.2.2010 Репутация: нет Всего: нет |
Тут подробно про синхронизацию потоков в java.
http://www.skipy.ru/technics/synchronization.html И о каких переменных идет речь? |
|||
|
||||
Рамирос |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 4.2.2010 Репутация: -2 Всего: -3 |
Ясненько, нащот статеечки, познавательно.
А нащот переменных, то тут берутся переменные примитивных типов. Нутак как нащот переменных их ненадо синхронизироваить?? нада токо методы или обьекты синхронизировать?? |
|||
|
||||
Zыыыыы |
|
|||
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 10.2.2010 Репутация: нет Всего: нет |
Вот общая форма оператора synchronized:
Здесь объект - это ссылка на синхронизируемый объект. Блок synchronized гapaнтирует, что вызов метода объекта произойдет только тоrда, коrда текущий поток успешно войдет в монитор объекта. Cинхронизированы могут быть только объекты. Переменные простых типов могут только объявляться и использоваться в блоке(или методе) synchronized, а при объявлении самого блока synchronized в качестве параметра может быть только объект(общение с которым мы собираемся регулировать). Но можно воспользоваться модификатором volatile. Он указывается перед декларацией членов класса. Модификатор volatile показывает виртуальной машине, что данная переменная может быть изменена другими thread-ами. Переменная, помеченная ключевым словом volatile, не будет кэшироваться в контексте thread-а, а доступ к ней будет осуществляться так, словно она заключена в блок synchronized. Volitile-переменная читается прямо из основной памяти, исключая регистры и локальную память. Следовательно, такая переменная гарантирует валидное значение для любого потока. Ключевое слово volatile может применяться как для объектов, так и для примитивных типов. Кроме того, переменная volatile может быть null. P.S. И все же надо гуглить. |
|||
|
||||
Рамирос |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 80 Регистрация: 4.2.2010 Репутация: -2 Всего: -3 |
ага...
Zыыыыы, пасиба. Тоесть переменная с модификатором volatile никогда не будет исопльзоваться в один момент времени двумя или более нитями?? |
|||
|
||||
![]() ![]() ![]() |
FAQ раздела лежит здесь! |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |