многопоточность — пул потоков c ++ с разделяемой памятью только для чтения

Я новичок в параллельном программировании на C ++
Я хочу, чтобы код сервера (на коробке Linux) на основе шаблона пула потоков, где
потоки должны читать (и только читать) из общей памяти
отвечать на входящие запросы

Я очень смущен 🙁
Интересно, нужно ли что-то делать для синхронизации потоков
когда они обращаются к постоянной памяти и как это сделать (возможно, используя файл карты памяти?)

5

Решение

Если данные доступны только для чтения, вам не нужно синхронизировать потоки чтения, вы делаете это только если что-то записывает. Кроме того, потоки разделяют пространство памяти своих родителей, поэтому вам не нужно создавать сегмент общей памяти или что-то подобное.

http://en.wikipedia.org/wiki/Thread_safety

1

Другие решения

Я знаю очень хорошую статью о многопоточности C ++ 11 — Прочитай это. В части 4 вы увидите реализацию и объяснение общего контейнера.

1

По вопросам рекламы [email protected]