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

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

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

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

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

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

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

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

CyclicBarrier можно переиспользовать, т.е. делать несколько фаз, в каждой из которой стартует N потоков одновременно
Phaser вроде как позволяет динамически менять число N в процессе работы
...
Рейтинг: 0 / 0
10.08.2015, 16:23
    #39026464
Atum1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда использовать CyclicBarrier ?
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
10.08.2015, 17:08
    #39026512
DoSOfRedRiver
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Когда использовать CyclicBarrier ?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Когда использовать CyclicBarrier ? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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