|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
|||||||
Потоко-безопасная Очередь05.04.2021, 20:16. Показов 13412. Ответов 106
Метки нет (Все метки)
... вырисовалась тема отсюда
а раздельная - вы, наверно, имеете ввиду для LIFO... наверно лучше на list выполнять? sorry, что много вопросов - стою на распутье - даже в отдельную тему вынесла
0
|
|||||||
| 05.04.2021, 20:16 | |
|
Ответы с готовыми решениями:
106
Потоко-независимая очередь записывает 2е команды в одну ячейку. Почему ?
Является ли boost::asio::tcp::acceptor потоко-безопасным ? |
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 08.04.2021, 10:58 | |
|
1
|
|
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
|
| 09.04.2021, 19:29 [ТС] | |
|
Concurrency - Remember
честно говоря, видела страшилки, что ABA-problem возникает в producer-consumer архитектуре (используя CV и мьютекс)... оказывается, только для случаев lock-free... может, что-то неправильно запомнила?
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 09.04.2021, 19:49 | ||
|
1
|
||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 10.04.2021, 08:25 | ||
|
1
|
||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
||||
| 10.04.2021, 10:56 [ТС] | ||||
в общем, у меня такое ощущение, что главная проблема возникает, когда куча - одна, а ядер - несколько... => проблема в словах для железа- кто current, а кто next для тех или иных контейнеров... хотя проблема, конечно, глубже - успел или не успел write после того, как read... и начал кто-то другой read--modify-write или ещё не успел начать... выходов предлагается много для решения этой проблемы - все с тяжёлой артиллерией (garbage collection, hazard pointers, чтобы универсально, а не только для DCAS архитектур)... поэтому считаю, контейнеры U++ с индексированным доступом (индексы в данном случае - в качестве счётчика) - самыми удобными!.. никаких current-next, никаких искуственных счётчиков, только родные для контейнеров фреймворка, никакой путаницы, простота и безопасность... имхо! p.s. задачка на всякий случай... и ликбез
0
|
||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 10.04.2021, 11:06 | ||
|
С использованием мьютекса, например, это сделать легко.
0
|
||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
|||||
| 10.04.2021, 19:36 [ТС] | |||||
- значит блокировка надёжнее (в любом случае в production не сдают код, работающий только на опр. процессорах - я про DCAS) Добавлено через 14 минут ссылка есть на C++
https__stackoverflow__com__/questions/849786/is-a-lock-wait-free-doubly-linked-list-possible/849837#849837
- всё начинать, наверно, вообще стоит с lock-free memory manager... чтобы эту lock-free спокойно прикручивать к контейнерам... p.s. Lock-Free_DoublyLinkedList - в общем, нелегко... CAS-based algorithm Добавлено через 3 минуты A Fast General Purpose Lock-Free Queue for C++ Добавлено через 3 часа 54 минуты САМОЕ ИНТЕРЕСНОЕ: мне этот пример кажется более понятным, чем про обедающих философов (видя название 2го, я не дочитывала его до конца, всё время откладывая на потом) - то ли дело нормальная постановка вопроса:
0
|
|||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|||
| 10.04.2021, 19:40 | |||
|
Я в лыжи обутый, То ли лыжи не едут То ли дедлок....
0
|
|||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
||||||
| 10.04.2021, 20:25 [ТС] | ||||||
|
вот всё-таки интересно, можно ли на лыжах с машиной применить др. подход?
я бы даже предположила, что можно лыжи, машину и юзеров выделить в отдельные классы и лямбдами менять их State - в общем и целом... но с моделью ещё надо разобраться... параллельность судьбы лыж и машины будут под большим вопросом (т.е. лыжи и машина не будут существовать во времени совместно) ![]() Добавлено через 23 минуты ... ладно, отложим пока лыжи, назрела более серьёзная проблема этой ветки
- вот поэтому producer и consumer и работают с одним(!) мьютексом и consumer в состоянии wait - будет ждать... имхо... лыжи
0
|
||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||||||||
| 10.04.2021, 20:29 | ||||||||||||
0
|
||||||||||||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
|
| 10.04.2021, 20:36 [ТС] | |
|
там мьютекс m - думаю, всё на одном надо делать, чтобы producer и consumer и их действия были логично упорядочены
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 10.04.2021, 21:35 | |
|
0
|
|
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
||
| 12.04.2021, 09:11 [ТС] | ||
|
всё-таки проектирование параллельности - тоже надо уметь рисовать в UML - чтобы потом не забыть структуру кода и не вчитываться в него снова
...какой-то UML Online Editor Добавлено через 9 минут и кстати, банально - Two models for concurrent programming... а то я что-то с Actor'ами задумалась -- а ведь у меня так и было до знакомства с shared_memoryДобавлено через 2 минуты самый развёрнутый Multithreading and concurrency - много примеров... Добавлено через 7 минут
0
|
||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
||||||
| 12.04.2021, 21:38 [ТС] | ||||||
|
а если попробовать сделать на Семафоре Thread-safe Queue, то надо будет использовать и Семафор и Мьютекс??
0
|
||||||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 12.04.2021, 21:42 | ||
|
1
|
||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
|||
| 12.04.2021, 22:48 [ТС] | |||
|
в общем создаётся ощущение, что эти потоки хорошо для Аудио-Видео контента... ну и для сложных мат. расчётов... иначе и message'ами ОК (как, банковские АТМ часто описываются)...
и как справедливо отметил TRam_ по моей ветке: повторюсь, cv для Win7 и выше -- тут всё сводится к NT kernel - интересная статья 2003 г. c выводом для Win32 - про все подводные камни и фиаско попытки сделать cv на семафоре
как и ваше предупреждение здесь
0
|
|||
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 12.04.2021, 22:57 | ||
|
0
|
||
|
264 / 153 / 33
Регистрация: 29.06.2019
Сообщений: 1,549
|
|
| 12.04.2021, 22:57 [ТС] | |
когда лочить не приходится, то да... поэтому и разделяем бизнес-логику по потокам... а ожидание на cv, да ещё если очередь многомилионная, а ядра всего 4, - всё равно кушает время за счёт switch-context
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 12.04.2021, 23:08 | ||
|
0
|
||
| 12.04.2021, 23:08 | |
|
Не безопасная форма Безопасная работа Безопасная регистрация
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запрет пометки на удаление и отмены проведения
Maks 16.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "ПутевойЛист" разработанного в КА2.
Задача: запретить помечать на удаление и отменять проведения путевого листа при условии, если он сдан. . .
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|