Зачем мне когда -либо создавать отдельный объект Mutex/Lock?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Зачем мне когда -либо создавать отдельный объект Mutex/Lock?

Сообщение Anonymous »

Я изменяю некоторый параллельный код на работе и недавно читаю документы Java о внутренних замках и синхронизации. объект для целей управления доступом к конкретному элементу? Код>, ( против Integer ) и, следовательно, не имеет внутренней блокировки, но ... предполагая, что мы обеспокоены синхронизацией какого -то статического объекта , есть ли что -нибудь, чтобы потерять? e.g. :

Код: Выделить всё

public class main {
public static void main (String[] args){
Integer foo = 10;

synchronized(foo){
foo ++;
}
}
}
Если я хочу обновить foo из нескольких потоков, синхронно, почему бы мне просто не использовать объект, который я хочу изменить? Это менее эффективно? Я вижу множество синхронизированных (это) и отдельные случаи, когда мы можем создать объект блокировки для целей синхронизации:

Код: Выделить всё

public class main {
public static void main (String[] args){
Integer foo = 10;
Object fooLock = new Object();

synchronized(fooLock){
foo ++;
}
}
}
Зачем мне создавать дураки , когда я мог бы вместо этого использовать объект фактического интереса? На самом деле это на самом деле обескуражено (не идиоматическое), или есть практическая причина, чтобы не делать этого?

Код: Выделить всё

synchronized(foo)
) для статического объекта подключения сокета, но меня касается того, что я не видел обсуждения этого. Я что -то упускаю?


Подробнее здесь: https://stackoverflow.com/questions/781 ... ock-object
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Boost :: mutex :: ~ mutex (): утверждение `! pthread_mutex_destroy (& m) 'не удалось
    Anonymous » » в форуме C++
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Зачем мне вообще создавать отдельный объект мьютекса/блокировки?
    Anonymous » » в форуме JAVA
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Как отображать отдельный отдельный блок для каждого символа с интервалом между двумя блоками с помощью CSS?
    Anonymous » » в форуме CSS
    0 Ответы
    149 Просмотры
    Последнее сообщение Anonymous
  • Вставьте/выпустить объект класса, имеющего std :: mutex в std :: unoromended_map
    Anonymous » » в форуме C++
    0 Ответы
    5 Просмотры
    Последнее сообщение Anonymous
  • Исключение Visual Studio после добавления std::mutex
    Гость » » в форуме C++
    0 Ответы
    26 Просмотры
    Последнее сообщение Гость

Вернуться в «JAVA»