Re[7]: Что оптимальнее для FIFO - queue или vector?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 18.07.21 14:21
Оценка:
Здравствуйте, AndrewJD, Вы писали:

M>>нынешний вариант под микроконтроллер хорошо зашел. Кстати, вроде бы получилось даже вполне лок-фри, если один читатель и один писатель

AJD>А какой memory ordering использовался для записи и чтения?

Не совсем понял вопроса, если честно.
Маньяк Робокряк колесит по городу
Re[8]: Что оптимальнее для FIFO - queue или vector?
От: AndrewJD США  
Дата: 19.07.21 16:50
Оценка:
Здравствуйте, Marty, Вы писали:

M>>>нынешний вариант под микроконтроллер хорошо зашел. Кстати, вроде бы получилось даже вполне лок-фри, если один читатель и один писатель

AJD>>А какой memory ordering использовался для записи и чтения?

M>Не совсем понял вопроса, если честно.


Один читатель и один писатель сами по себе не гарантируют безопасный лок-фри. В общем случае С++ требует использование атомиков с соотвествующим memory ordering. Для x86-64 это будет и так рабоать, но для других процов и возможно твоего контролера это не так.
"For every complex problem, there is a solution that is simple, neat,
and wrong."
Re[9]: Что оптимальнее для FIFO - queue или vector?
От: Marty Пират https://www.youtube.com/channel/UChp5PpQ6T4-93HbNF-8vSYg
Дата: 19.07.21 16:53
Оценка:
Здравствуйте, AndrewJD, Вы писали:


M>>>>нынешний вариант под микроконтроллер хорошо зашел. Кстати, вроде бы получилось даже вполне лок-фри, если один читатель и один писатель

AJD>>>А какой memory ordering использовался для записи и чтения?

M>>Не совсем понял вопроса, если честно.


AJD>Один читатель и один писатель сами по себе не гарантируют безопасный лок-фри. В общем случае С++ требует использование атомиков с соотвествующим memory ordering. Для x86-64 это будет и так рабоать, но для других процов и возможно твоего контролера это не так.


Я оставил возможность пользователю самому расставить барьеры памяти. Это раз. Во вторых, я конечно не изучал глубоко, но полагаю, в STM32 при возникновении прерываний это все само собой делается. Но вообще надо бы копнуть, да
Маньяк Робокряк колесит по городу
Re: Что оптимальнее для FIFO - queue или vector?
От: Nozama  
Дата: 30.09.21 23:43
Оценка:
Здравствуйте, Marty, Вы писали:

M>Нужно сделать очередь, в хвост кладём, с носа забираем. Типы — примитивные.


https://habr.com/ru/post/483944/

см. "очередь на 2-х стеках"
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.