volatile
имеет семантику для видимости памяти. В основном значение volatile
поле становится видимым всем читателям (другие потоки в особенности) после того, как операция записи завершится на нем. Без volatile
, читатели видели некоторое необновленное значение.
Для ответа на вопрос: Да, я использую volatile
переменная, чтобы управлять, продолжает ли некоторый код цикл. Тесты абонентского шлейфа эти volatile
значение и продолжается, если это true
. Условие может быть установлено к false
путем вызова метода "остановки". Цикл видит false
и завершается, когда он тестирует значение после того, как метод остановки завершает выполнение.
книга" Параллелизм Java на практике ", который я настоятельно рекомендую, дает хорошее объяснение volatile
. Эта книга записана тем же человеком, который написал статью IBM, на которую ссылаются в вопросе (на самом деле, он цитирует свою книгу у основания той статьи). Мое использование volatile
- то, что его статья называет "шаблон 1 флагом состояния".
, Если Вы хотите узнать больше, как volatile
работы под капотом, читайте на [1 113] модель памяти Java . Если Вы хотите пойти кроме того уровень, проверьте хорошую книгу архитектуры ЭВМ как [1 114] Hennessy & Patterson и чтение о когерентности кэша и непротиворечивости кэша.
Таким образом, я выяснил, что все, что я должен был сделать, было отредактировать /etc/vsftpd.conf
и не прокомментировать следующую строку:
local_umask=022
Тогда перезапускают сервис...
sudo /etc/init.d/vsftpd/ restart
Это зафиксирует его теперь.