home.social

#reentrantlock — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #reentrantlock, aggregated by home.social.

  1. Взаимное исключение в Java: от synchronized к Lock

    Многопоточность — одна из самых сложных тем в Java. По сути это ситуация, когда несколько потоков работают с общими данными и в процессе работы легко столкнуться с состоянием гонки (race condition), потерей обновлений или даже повреждением структуры данных. Чтобы этого избежать, доступ к критической секции кода нужно ограничить: одновременно там должен находиться только один поток. В Java есть два основных механизма для решения этой задачи: встроенное ключевое слово synchronized и явные блокировки из пакета java.util.concurrent.locks , наиболее популярная из которых — ReentrantLock . Оба подхода обеспечивают взаимное исключение ( mutex ), но работают по-разному и подходят для разных сценариев. В этой статье разберем, почему обычная переменная не подходит для многопоточного счета, как работают synchronized и ReentrantLock , и поможем выбрать правильный инструмент для вашей задачи.

    habr.com/ru/articles/1009610/

    #многопоточность #synchronized #reentrantlock

  2. Взаимное исключение в Java: от synchronized к Lock

    Многопоточность — одна из самых сложных тем в Java. По сути это ситуация, когда несколько потоков работают с общими данными и в процессе работы легко столкнуться с состоянием гонки (race condition), потерей обновлений или даже повреждением структуры данных. Чтобы этого избежать, доступ к критической секции кода нужно ограничить: одновременно там должен находиться только один поток. В Java есть два основных механизма для решения этой задачи: встроенное ключевое слово synchronized и явные блокировки из пакета java.util.concurrent.locks , наиболее популярная из которых — ReentrantLock . Оба подхода обеспечивают взаимное исключение ( mutex ), но работают по-разному и подходят для разных сценариев. В этой статье разберем, почему обычная переменная не подходит для многопоточного счета, как работают synchronized и ReentrantLock , и поможем выбрать правильный инструмент для вашей задачи.

    habr.com/ru/articles/1009610/

    #многопоточность #synchronized #reentrantlock

  3. Взаимное исключение в Java: от synchronized к Lock

    Многопоточность — одна из самых сложных тем в Java. По сути это ситуация, когда несколько потоков работают с общими данными и в процессе работы легко столкнуться с состоянием гонки (race condition), потерей обновлений или даже повреждением структуры данных. Чтобы этого избежать, доступ к критической секции кода нужно ограничить: одновременно там должен находиться только один поток. В Java есть два основных механизма для решения этой задачи: встроенное ключевое слово synchronized и явные блокировки из пакета java.util.concurrent.locks , наиболее популярная из которых — ReentrantLock . Оба подхода обеспечивают взаимное исключение ( mutex ), но работают по-разному и подходят для разных сценариев. В этой статье разберем, почему обычная переменная не подходит для многопоточного счета, как работают synchronized и ReentrantLock , и поможем выбрать правильный инструмент для вашей задачи.

    habr.com/ru/articles/1009610/

    #многопоточность #synchronized #reentrantlock

  4. Взаимное исключение в Java: от synchronized к Lock

    Многопоточность — одна из самых сложных тем в Java. По сути это ситуация, когда несколько потоков работают с общими данными и в процессе работы легко столкнуться с состоянием гонки (race condition), потерей обновлений или даже повреждением структуры данных. Чтобы этого избежать, доступ к критической секции кода нужно ограничить: одновременно там должен находиться только один поток. В Java есть два основных механизма для решения этой задачи: встроенное ключевое слово synchronized и явные блокировки из пакета java.util.concurrent.locks , наиболее популярная из которых — ReentrantLock . Оба подхода обеспечивают взаимное исключение ( mutex ), но работают по-разному и подходят для разных сценариев. В этой статье разберем, почему обычная переменная не подходит для многопоточного счета, как работают synchronized и ReentrantLock , и поможем выбрать правильный инструмент для вашей задачи.

    habr.com/ru/articles/1009610/

    #многопоточность #synchronized #reentrantlock

  5. 3 вопроса на собеседование о многопоточности в Java

    Привет, Хабр! Сегодня рассмотрим несколько вопросов на собеседовании, которые могут встретиться: чем synchronized отличается от ReentrantLock , что такое happens-before и как оно влияет на volatile и final и почему ConcurrentHashMap.computeIfAbsent() не всегда безопасен?

    habr.com/ru/companies/otus/art

    #java #synchronized #многопоточность #ReentrantLock #собеседование_вопросы

  6. 3 вопроса на собеседование о многопоточности в Java

    Привет, Хабр! Сегодня рассмотрим несколько вопросов на собеседовании, которые могут встретиться: чем synchronized отличается от ReentrantLock , что такое happens-before и как оно влияет на volatile и final и почему ConcurrentHashMap.computeIfAbsent() не всегда безопасен?

    habr.com/ru/companies/otus/art

    #java #synchronized #многопоточность #ReentrantLock #собеседование_вопросы

  7. 3 вопроса на собеседование о многопоточности в Java

    Привет, Хабр! Сегодня рассмотрим несколько вопросов на собеседовании, которые могут встретиться: чем synchronized отличается от ReentrantLock , что такое happens-before и как оно влияет на volatile и final и почему ConcurrentHashMap.computeIfAbsent() не всегда безопасен?

    habr.com/ru/companies/otus/art

    #java #synchronized #многопоточность #ReentrantLock #собеседование_вопросы

  8. 3 вопроса на собеседование о многопоточности в Java

    Привет, Хабр! Сегодня рассмотрим несколько вопросов на собеседовании, которые могут встретиться: чем synchronized отличается от ReentrantLock , что такое happens-before и как оно влияет на volatile и final и почему ConcurrentHashMap.computeIfAbsent() не всегда безопасен?

    habr.com/ru/companies/otus/art

    #java #synchronized #многопоточность #ReentrantLock #собеседование_вопросы