![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| sergioK1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
потоков нет но если поставить sync то будут ли тормоза , многие в сети говорят да , но с чего , кто может подробно расписать весь механтзм работы на нижнем уровне? |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Это вообще что?
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| sergioK1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
это вообще то код жава, и вопрос почему с мютексом будет работать медленнее, при одном потоке, медленнее за счет чего ? |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Это не код, а ерунда какая-то. Где там мьютекс? Захват монитора не бесплатная операция иногда сопряженная с переключение контекста (даже если он был свободен). Плюс synchronized это еще и гарантии happens before, что влечет за собой memory barrier. Но есть но: Java умеет оптимизировать блокировки, в некоторых случаях она может их вообще убрать или использовать оптимистичную блокировку. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| sergioK1 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
когда много потоков все понятно , ждем когда один поток не завершиться, Я говорю когда поток один что захватыать ,? barrier между чем и чем ?
что конкретно делаеться при synchronized(val) обращение к ядру ? к некой особой памяти? общей для всех процессоров ? через родно для оси код естесно, или еще к чему нидь другому? |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Будет ли обращение к ядру для захвата мьютекса зависит от реализации. Сейчас JDK не использует мьютексы ОС, сейчас используется CAS, так что переключения контекста быть не должно (если монитор свободен). Плюс там есть Memory barrier, перед входом в synchronized и после выхода.
Что касается кода, то это полная ерунда. val++ каждый раз создает новый объект и значит синхронизация идет по новому объекту. В принципе ее можно вообще выкинуть, если хватит способностей JIT на это. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| sergioK1 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 30.1.2011 Репутация: нет Всего: нет |
что за CAS ? тогда он должен мютескы ОС пользовать , как же без ОС то ? |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "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. |