Нужно ли блочить поток мютексом или семафором при чтении из другого потока?
Семафоров в языке С++ нет (в стандартной библиотеке). Для чтения и записи данных из переменных, которые могут использоваться разными потоками нужно либо использовать std::mutex либо (если тип позволяет) std::atomic, иначе никакое поведение вашей программы не гарантированно.
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости