|
2 / 2 / 2
Регистрация: 27.09.2013
Сообщений: 51
|
||||||
НЕ понятно volatile27.09.2013, 16:10. Показов 1585. Ответов 11
Метки нет (Все метки)
НЕ могу понять как volatile влияет на видимость.
Вот например код , булево переменная не объявлена как volatile и все нормально работает:
0
|
||||||
| 27.09.2013, 16:10 | |
|
Ответы с готовыми решениями:
11
И снова volatile. Глобальный массив, изменяемый в обработчике прерывания, должен быть volatile? Заменить volatile на Thread.MemoryBarrier. Код приведён. Как оптимизировать обращения для чтения к volatile полю класса? как i двигается понятно но вот не понятно как это делает j ? |
|
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
|
||||||
| 27.09.2013, 16:44 | ||||||
если объявить без этого слова, то остановить поток не получится и читать это
0
|
||||||
|
2 / 2 / 2
Регистрация: 27.09.2013
Сообщений: 51
|
|||||||
| 27.09.2013, 17:03 [ТС] | |||||||
|
Так почему у меня все работает без volatile ?
Добавлено через 6 минут Добавлено через 5 минут Решил проверить ваш пример и не фига он не работает ( то есть даже без volatile все выключает) просто вы в бесконечном цикле читаете консоль:
0
|
|||||||
|
|
|||||||||||
| 27.09.2013, 17:26 | |||||||||||
|
Вот пример - без volatile будет работать бесконечно
0
|
|||||||||||
|
462 / 462 / 71
Регистрация: 26.02.2013
Сообщений: 1,263
|
|
| 27.09.2013, 17:44 | |
|
ну в бесконечном и что дальше?
второй поток останавливается если ввести 0, или может надо было программу с GUI для примера написать?
0
|
|
|
2 / 2 / 2
Регистрация: 27.09.2013
Сообщений: 51
|
|||||||||||||
| 27.09.2013, 18:39 [ТС] | |||||||||||||
|
Добавлено через 4 минуты
Добавлено через 3 минуты Опять же проверил и ваш пример turbanoff, и все нормально вырубается:
0
|
|||||||||||||
|
|
|||||||
| 27.09.2013, 18:58 | |||||||
|
Код метода PrintStream.println
Даже если убрать вызов System.out.println из основного потока, оптимизатор все равно не может гарантировать, что какой-то поток вдруг не вызовет println, и, соответственно, вызов getTest заинлайниться не может. Как я и говорил - запускайте java с флажком -XX:+PrintCompilation, чтобы убедиться, что JIT хотя бы сработал.
1
|
|||||||
|
2 / 2 / 2
Регистрация: 27.09.2013
Сообщений: 51
|
||||
| 27.09.2013, 19:20 [ТС] | ||||
|
Или это уже другая история? Добавлено через 2 минуты Несвязанно все это ли с отношением happenes - before ?
0
|
||||
|
|
|||
| 27.09.2013, 19:43 | |||
|
0
|
|||
|
2 / 2 / 2
Регистрация: 27.09.2013
Сообщений: 51
|
||
| 27.09.2013, 19:48 [ТС] | ||
|
Так ведь это должно происходит на этапе компиляции ,а не выполнения... или я не прав?
0
|
||
|
2 / 2 / 2
Регистрация: 27.09.2013
Сообщений: 51
|
|||
| 27.09.2013, 20:12 [ТС] | |||
|
и есть не большой вопрос , как лучше инициализировать переменную через set-метод объекта который возможно будет использоваться (возможно) из двух и более потоков ? Собственно я мог вообще не создавать эту тему и просто сделать все в sync блоке , но что-то кажется мне для простого присваивания это слишком жирно. Теперь же ваш пример вообще меня запутал ) так как я не знаю доверять мне volatile и вообще нужно ли это. Ладно буду читать пока )
0
|
|||
| 27.09.2013, 20:12 | |
|
Помогаю со студенческими работами здесь
12
volatile Volatile volatile Использование Volatile Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|