powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Когда использовать CyclicBarrier ?
6 сообщений из 6, страница 1 из 1
Когда использовать CyclicBarrier ?
    #39025359
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Читаю про синхронайзеры.
Прочитал про CyclicBarrier. Не могу придумать жизненную ситуацию, когда его использовать. Помогите

Я так понимаю суть синхронайзера в том, что поток достигает некоторой точки и ждёт пока остальные n-1 потоков не достигнут определенной точки. Когда n потоков достигли определенной точки - выполняется callback барьера и потоки "зависшие" на определенной точке продолжают выполнение. при следующем достижении потоками barrier.await() - всё будет идти по кругу.

определенная точка == barrier.await()
...
Рейтинг: 0 / 0
Когда использовать CyclicBarrier ?
    #39025604
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это достаточно специфичный синронайзер, на практике встречается редко. Обычно это тесты:
1) Тесты многопоточности, когда пытаются понять корректно ли работает код при одновременном начале работы X потоков одной точки.
2) Тесты перфоманса, когда надо попытаться начать работу чего-либо из разных потоков по возможности одновременно.

В общем, редкий зверь. Он не один такой в JDK. Phaser часто встречали? А DelayQueue? В JDK много такого можно найти.
...
Рейтинг: 0 / 0
Когда использовать CyclicBarrier ?
    #39025636
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cdtyjvЭто достаточно специфичный синронайзер, на практике встречается редко. Обычно это тесты:
1) Тесты многопоточности, когда пытаются понять корректно ли работает код при одновременном начале работы X потоков одной точки.
2) Тесты перфоманса, когда надо попытаться начать работу чего-либо из разных потоков по возможности одновременно.

В общем, редкий зверь. Он не один такой в JDK. Phaser часто встречали? А DelayQueue? В JDK много такого можно найти.

Просто задачку задали придумать и сделать с использованием CyclicBarrier, а мне даже ситуацию нормально не придумать.
В JDK java doc-e пример какой-то кисленький.

То, что вы описали - там вполне достаточно и CountDownLatch-а.

про Phaser пока только слышал и не разбирался для чего он нужен))
...
Рейтинг: 0 / 0
Когда использовать CyclicBarrier ?
    #39026275
pitong
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerтам вполне достаточно и CountDownLatch-а.
про Phaser пока только слышал и не разбирался для чего он нужен))

CyclicBarrier можно переиспользовать, т.е. делать несколько фаз, в каждой из которой стартует N потоков одновременно
Phaser вроде как позволяет динамически менять число N в процессе работы
...
Рейтинг: 0 / 0
Когда использовать CyclicBarrier ?
    #39026464
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerЧитаю про синхронайзеры.
Прочитал про CyclicBarrier. Не могу придумать жизненную ситуацию, когда его использовать. Помогите

Я так понимаю суть синхронайзера в том, что поток достигает некоторой точки и ждёт пока остальные n-1 потоков не достигнут определенной точки. Когда n потоков достигли определенной точки - выполняется callback барьера и потоки "зависшие" на определенной точке продолжают выполнение. при следующем достижении потоками barrier.await() - всё будет идти по кругу.

определенная точка == barrier.await()

Простой HTTPClient c CyclicBarrier

задачка простая - есть в инете - скачки

http://www.life-prog.ru/2_22916_CyclicBarrier.html

https://www.ibm.com/developerworks/ru/library/j-5things5/
...
Рейтинг: 0 / 0
Когда использовать CyclicBarrier ?
    #39026512
DoSOfRedRiver
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Когда использовать CyclicBarrier ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]