|
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
|
|
Значение ключевого слова final в контексте многопоточных программ13.04.2014, 17:55. Показов 3039. Ответов 32
Метки нет (Все метки)
0
|
|
| 13.04.2014, 17:55 | |
|
Ответы с готовыми решениями:
32
Создание многопоточных программ Разработка многопоточных программ в Windows Вывести все слова текста, которые нельзя составить из «ключевого» слова |
|
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
|
|
| 13.04.2014, 18:07 | |
|
Не по теме: использовать его - это круто =) а если по теме... final выполнится в независимости от того выскочила ошибка или нет (бывают исключения). => с помощью него можно например закрывать соединения или потоки ввода/вывода, даже в том случае если с программой что то пошло не плану.
0
|
|
|
944 / 687 / 230
Регистрация: 28.04.2013
Сообщений: 1,925
|
|
| 13.04.2014, 18:38 | |
|
_Den_, и то верно, спасибо что поправили.
0
|
|
|
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
|
|
| 13.04.2014, 18:59 [ТС] | |
|
0
|
|
|
ɐwʎ ɔ vǝmоɔ dиw ɐʚонɔ
|
|
| 13.04.2014, 19:14 | |
|
final говорит нам о том, что переменной может быть присвоено значение только 1 раз. Если это ссылка на объект, то состояние объекта изменять можно, но не ссылку (либо если примитив - то значение становится константой)
0
|
|
|
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
|
|
| 14.04.2014, 11:40 [ТС] | |
|
я это и так знаю)
Вопрос про другое же.
0
|
|
|
|
|
| 14.04.2014, 13:20 | |
|
Если все поля объекта объявлены как final, класс объявлен как final, и класс наследуется от неизменяемого класса, то такой класс называется неизменяемым.
Неизменяемые классы, не позволяют менять своё содержимое, и как следствие являются потокобезопасными. Объекта неизменяемых классом даже можно публиковать небезопасно: другой поток, никогда не сможет прочитать недоиницализированное состояние объекта.
0
|
|
|
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
|
||||
| 14.04.2014, 13:29 [ТС] | ||||
|
Как же можно отнаследоваться от final класса?
0
|
||||
|
|
|||
| 14.04.2014, 14:54 | |||
|
Добавлено через 1 минуту Если это поле не immutability-класса, то возможна ситуция, когда поле уже != null, но конструктор до конца еще не выполнился. Добавлено через 1 минуту Статья по теме - http://habrahabr.ru/post/143390/
0
|
|||
|
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
|
|
| 15.04.2014, 17:41 | |
|
turbanoff, может быть и хуже - конструктор выполнился, а поле еще не присвоено, собственно в этом и проблема.
gredwhite, статические final поля безопасны. нестатические - нет. ссылок не дам, ищите сами.
0
|
|
|
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
|
||||||
| 25.04.2014, 12:14 [ТС] | ||||||
|
turbanoff, тяжело у меня идёт эта статья.
0
|
||||||
|
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
|
|
| 25.04.2014, 17:11 | |
|
gredwhite, то, что вы написали называется "double checked locking". В старой JMM, до версии 1.4, эта конструкция была некорректной, т.е. она не гарантировала однократный вызов конструктора. В новой JMM эта конструкция будет корректной, если вы объявите instance volatile. Объяснение этого довольно сложное.
Короче, вы читаете сильно устаревшую и к тому же ошибочную статью. Погуглите "double checked locking", найдете кучу информации. Добавлено через 2 минуты Еще лучше начать прямо со статей по JMM (java memory model).
0
|
|
|
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
|
|
| 25.04.2014, 18:00 [ТС] | |
|
bigwhitefish, мы кажется слегка про другое.
а что в статье ошибочного? turbanoff, Кстати кажется в тему(про публикацию(хоть я и не осознал пока что это)) то, что совместное использование final и volatile запрещено
0
|
|
|
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
|
|||||||
| 25.04.2014, 19:35 | |||||||
|
turbanoff, зачем вообще нужен этот код? Предполагается, что он более быстрый. Локальная переменная дает доп. оптимизацию (по мысли автора). Если без нее, то будет
gredwhite, в статье ошибочна концепция, я же написал. При условии, что это выдается за корректный вариант, конечно.
0
|
|||||||
|
44 / 44 / 11
Регистрация: 21.01.2013
Сообщений: 668
|
|
| 25.04.2014, 21:39 [ТС] | |
|
bigwhitefish, спасибо конечно, но так, для информации просто, в интерфейсе не запрещено public писать у методов и полей.
0
|
|
|
53 / 53 / 14
Регистрация: 26.02.2014
Сообщений: 150
|
|
| 26.04.2014, 00:12 | |
|
Э?
И?
0
|
|
| 26.04.2014, 00:12 | |
|
Помогаю со студенческими работами здесь
20
Вывести слова, из которых нельзя составить ключевого слова, ключевое слово вводится отдельно
Записать в файл все ключевые слова, встречающиеся в программе, указав количество появлений ключевого слова В чем разница между “static final” VS “final”?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Programma_Boinc 01.01.2026
Учёным и волонтёрам проекта «Einstein@home» удалось обнаружить четыре гамма-лучевых пульсара в джете Млечного Пути
Сочетание глобально распределённой вычислительной мощности и инновационных. . .
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|