Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какую библиотеку посоветуете с потокобезопасными контейнерами? / 25 сообщений из 82, страница 1 из 4
14.03.2017, 22:35
    #39419356
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
Насколько я понял в Qt и в Boost таких контейнеров не реализовано. Есть в Intel ТВВ, но я пока эту библиотеку не использовал.

Кто что использует?
...
Рейтинг: 0 / 0
14.03.2017, 23:01
    #39419363
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
AlekseySQL,

Смотрели в boost::lockfree?
...
Рейтинг: 0 / 0
14.03.2017, 23:06
    #39419365
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
AlekseySQL,

Ещё можете глянуть на libcds , её разрабатывает один местный дядька уже давно. Был пару раз на его стэндапах, вроде своё дело знает, хотя некоторые из его высказываний вогнали меня в ступор...
...
Рейтинг: 0 / 0
14.03.2017, 23:41
    #39419374
Вася Уткин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
NekZ хотя некоторые из его высказываний вогнали меня в ступор...
Например?
...
Рейтинг: 0 / 0
15.03.2017, 06:59
    #39419424
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
AlekseySQLНасколько я понял в Qt и в Boost таких контейнеров не реализовано. Есть в Intel ТВВ, но я пока эту библиотеку не использовал.

Кто что использует?
в последнее время всё чаще free-lock выходит из гик-сообщества, но до продакшена ещё далеко

на мой взгляд лучше не ходить туда, пока свой контейнер не напишешь (хотя бы стэк, очередь) и по всем граблям не пройдёшь
...
Рейтинг: 0 / 0
15.03.2017, 08:29
    #39419449
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
Вася УткинNekZ хотя некоторые из его высказываний вогнали меня в ступор...
Например?
Например, что не нужно математически доказывать корректность алгоритма -- нужно его обложить кучей грубых и нагрузочных тестов в продакшне. Типа "ну а мне-то чо, что доказано? Главное чтобы работало стабильно"
Или его подход к проектированию кода -- прямо на стэндапе показывал как подпирает свой код костылями (ещё и в виде макросов). Может, это был и единственный вариант, но показывать такое публике я бы не стал, так как у опытных пользователей C++ сразу в подсознании вспыхивает "TRIGGERED! Monkey code detected!".

В общем и целом, у меня сложилось впечатление, что они пишут софт чисто под своё железо и не задумываются о масштабируемости и переносимости на другие конфигурации.
...
Рейтинг: 0 / 0
15.03.2017, 08:41
    #39419456
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
kealon(Ruslan)в последнее время всё чаще free-lock выходит из гик-сообщества, но до продакшена ещё далеко

на мой взгляд лучше не ходить туда, пока свой контейнер не напишешь (хотя бы стэк, очередь) и по всем граблям не пройдёшь

Прочитал книжки "Практическое программирование на С++ " (Боровский) и "Параллельное программирование на С++ в действии" (Уильямс). В книгах даны разные примеры очередей без блокировок, которые не факт, что будут качественно работать в промышленных масштабах.

В результате пришел к выводу, что на самостоятельную реализацию и тестирование у меня уйдет много времени, которого очень жаль. Основные проблемы возникающие при многопоточном программировании и так понятны. Да и зачем изобретать велосипед, если возможно уже есть протестированные и даже оптимизированные по производительности решения?
...
Рейтинг: 0 / 0
15.03.2017, 08:47
    #39419458
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
NekZAlekseySQL,

Смотрели в boost::lockfree?

Спасибо! Мне как раз очередь нужна для передачи сообщений от дочерних потоков родительскому, чтобы быть в курсе процесса работы.
...
Рейтинг: 0 / 0
15.03.2017, 08:54
    #39419459
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
kealon(Ruslan),

В догонку видео с разработчиком TBB:
YouTube Video
...
Рейтинг: 0 / 0
15.03.2017, 09:46
    #39419494
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
AlekseySQL,

а готов?

я вот думаю, что прежде чем садиться за гоночный болид надо бы немного "подтянуться и поднатаскаться" на чём ни будь попроще
...
Рейтинг: 0 / 0
15.03.2017, 11:24
    #39419642
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
kealon(Ruslan)я вот думаю, что прежде чем садиться за гоночный болид надо бы немного "подтянуться и поднатаскаться" на чём ни будь попроще

Нет, вы предлагаете собрать болид своими руками. Во время сборки болида вы начнете утверждать, что надо разобраться в изготовлении деталей и сделать их также самостоятельно. Когда будете делать детали, то вам придет гениальная мысль, что надо бы научиться выплавлять металл (а то не спортивно как-то!). При реализации последнего вам захочется заняться геологоразведкой и примерно тут вы помрете от старости так ничего и не сделав за всю жизнь.
...
Рейтинг: 0 / 0
15.03.2017, 11:34
    #39419663
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
AlekseySQL,

ох люблю молодых прытких

вот вам потренироваться на кошках , у Dima T там очередь и пул акторов, которые можно заменить на free-lock вариант.
Он утвердает что будет медленнее, дакажете обратное?

вот его проектик:
https://github.com/Dmitriy-GH/lite_thread
...
Рейтинг: 0 / 0
15.03.2017, 11:42
    #39419689
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
AlekseySQLНет, вы предлагаете собрать болид своими руками. Во время сборки болида вы начнете утверждать, что надо разобраться в изготовлении деталей и сделать их также самостоятельно. Когда будете делать детали, то вам придет гениальная мысль, что надо бы научиться выплавлять металл (а то не спортивно как-то!). При реализации последнего вам захочется заняться геологоразведкой и примерно тут вы помрете от старости так ничего и не сделав за всю жизнь.
Ну вообще, это правильный подход. Хочешь управлять гоночным болидом в совершенстве, не вылетев на первом же повороте -- тебе нужно знать как функционирует каждая деталь и из чего она сделана.
Раз уж вы читали Уильямса, то должны понимать это.
...
Рейтинг: 0 / 0
15.03.2017, 11:46
    #39419699
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
Народ, подскажите есть ли пулы потоков с установкой приоритета потока? В бустовском thread_group, кьютовском QThreadPool и даже в стандартных Thread от не нашел.

Неужели нет пулов, где можно указать приоритет?
...
Рейтинг: 0 / 0
15.03.2017, 12:23
    #39419763
Вася Уткин
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
NekZВася Уткинпропущено...

Например?
Например, что не нужно математически доказывать корректность алгоритма -- нужно его обложить кучей грубых и нагрузочных тестов в продакшне. Типа "ну а мне-то чо, что доказано? Главное чтобы работало стабильно"
Или его подход к проектированию кода -- прямо на стэндапе показывал как подпирает свой код костылями (ещё и в виде макросов). Может, это был и единственный вариант, но показывать такое публике я бы не стал, так как у опытных пользователей C++ сразу в подсознании вспыхивает "TRIGGERED! Monkey code detected!".

В общем и целом, у меня сложилось впечатление, что они пишут софт чисто под своё железо и не задумываются о масштабируемости и переносимости на другие конфигурации.
Я думаю на конференции/стендапе понятно доказать корректность даже части libcds не успеешь, в то же время доказательства есть в куче научных работ откуда он набрал большинство алгоритмов. А понятно объяснить как доказывать корректность собственных wait/lock-free алгоритмов - это целую книгу писать.
Я понимаю что такое схематически доказать корректность многопоточного алгоритма в терминах std::memory_order и построить дерево событий, но что такое - доказать математически ?
...
Рейтинг: 0 / 0
15.03.2017, 12:30
    #39419784
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
Вася УткинЯ понимаю что такое схематически доказать корректность многопоточного алгоритма в терминах std::memory_order и построить дерево событий, но что такое - доказать математически ?
Здесь речь шла об алгоритмах в общем случае, не о многопоточности, т.е. работает ли алгоритим корректно на любых входных данных, доказано ли это путём анализа алгоритма .
...
Рейтинг: 0 / 0
15.03.2017, 14:52
    #39420016
Anatoly Moskovsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
NekZЗдесь речь шла об алгоритмах в общем случае, не о многопоточности, т.е. работает ли алгоритим корректно на любых входных данных, доказано ли это путём анализа алгоритма .
Лучшее доказательство того что реализованный алгоритм правильный - это сумма на счету автора.
Платят за программу - значит правильный алгоритм.
А если автор доказал математически корректность алгоритма, но умер от голода, то алгоритм точно некорректный )))
...
Рейтинг: 0 / 0
15.03.2017, 15:14
    #39420051
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
AlekseySQL,

Я лично очень сомневаюсь, что тебе нужны потокобезопасные контейнеры.
Ну и "потокобезопасный" -- понятие растяжимое, там по каждой операции
есть описание, какие гарантии безопасности в разных потоках даются.
...
Рейтинг: 0 / 0
15.03.2017, 15:31
    #39420079
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
AlekseySQLНарод, подскажите есть ли пулы потоков с установкой приоритета потока? В бустовском thread_group, кьютовском QThreadPool и даже в стандартных Thread от не нашел.

Неужели нет пулов, где можно указать приоритет?

Нет, нету.
Но ты можешь поставить приоритеты используя непереносимые средства конкретной OC.
...
Рейтинг: 0 / 0
15.03.2017, 18:32
    #39420244
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
MasterZiv,

Тогда решил делать свой менеджер с Qt- потоками (у которых есть возможность задать приоритет).
...
Рейтинг: 0 / 0
15.03.2017, 19:00
    #39420264
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
kealon(Ruslan)вот вам потренироваться на кошках , у Dima T там очередь и пул акторов, которые можно заменить на free-lock вариант.
Он утвердает что будет медленнее, дакажете обратное?
Не надо перевирать то, что не понял. Я там говорил две несвязные меж собой мысли:
1. Я не хочу переделывать очередь с критических секций на lock-free, т.к. сам я такое написать не смогу. Написал как смог.
2. В другом месте у меня уже lock-free, но надо обойтись вообще без пересечений потоков, без доступа всех потоков в одну точку памяти. Без блокировки быстрее чем с блокировкой, неважно lock-free, мутексы и т.д. lock-free не бесплатен.

Ты скрестил первое со вторым и дальше по форуму разносишь. Зачем?
...
Рейтинг: 0 / 0
15.03.2017, 19:09
    #39420269
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
AlekseySQLMasterZiv,

Тогда решил делать свой менеджер с Qt- потоками (у которых есть возможность задать приоритет).
Подумай еще зачем тебе это надо. Если ты не видишь другого решения - это не значит что его нет.

Приоритеты очень опасная штука, стрелять в ногу с ними элементарно, скорее всего поэтому их нет. Например запустится твоя прога создаст приоритетных потоков столько сколько ядер и начнет в них молотить долго и упорно, а у юзера в соседнем окне браузер колом встанет ... Подумай еще.
...
Рейтинг: 0 / 0
15.03.2017, 23:16
    #39420380
NekZ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
Anatoly MoskovskyNekZЗдесь речь шла об алгоритмах в общем случае, не о многопоточности, т.е. работает ли алгоритим корректно на любых входных данных, доказано ли это путём анализа алгоритма .
Лучшее доказательство того что реализованный алгоритм правильный - это сумма на счету автора.
Платят за программу - значит правильный алгоритм.
А если автор доказал математически корректность алгоритма, но умер от голода, то алгоритм точно некорректный )))
Поэтому я и ушёл из IT ;-)
...
Рейтинг: 0 / 0
16.03.2017, 05:30
    #39420421
CEMb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
Anatoly MoskovskyЛучшее доказательство того что реализованный алгоритм правильный - это сумма на счету автора.
Платят за программу - значит правильный алгоритм.
А если автор доказал математически корректность алгоритма, но умер от голода, то алгоритм точно некорректный )))А если правильный, но opensource/freeware?
Да и за сам алгоритм обычно ничего никогда не платят, платят за программу, которая позволяет удобно этим алгоритмом пользоваться. Чем удобнее программа, тем приятнее платят.
Пример: Windows SDK(free, pure) vs MS Visual Studio(pay, handy) (да, удобство студии субъективно, но только по сравнению с другими IDE, а по сравнению с SDK оно очевидно)
...
Рейтинг: 0 / 0
16.03.2017, 08:15
    #39420441
AlekseySQL
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Какую библиотеку посоветуете с потокобезопасными контейнерами?
Dima TПриоритеты очень опасная штука, стрелять в ногу с ними элементарно, скорее всего поэтому их нет. Например запустится твоя прога создаст приоритетных потоков столько сколько ядер и начнет в них молотить долго и упорно, а у юзера в соседнем окне браузер колом встанет ... Подумай еще.

Я наоборот хочу поставить очень низкий приоритет своим потокам. Таким образом мне удастся запустить 4 дочерних потока (по количеству ядер) + основной поток для показа текущих сообщений из дочерних. Причем в этом случае основной поток не будет тормозить, потому что у него относительно дочерних потоков будет высокий приоритет и в тоже время ядро не будет простаивать между показами информации о ходе работы.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Какую библиотеку посоветуете с потокобезопасными контейнерами? / 25 сообщений из 82, страница 1 из 4
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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