Задать вопрос
maaGames
@maaGames
Погроммирую программы

Как синхронизировать процессы используя только std?

С синхронизацией потоков никаких вопросов нет, в std куча разного есть. А есть ли std-инструменты для синхронизации процессов? Используя WinAPI можно создать именованные объекты мьютексы и т.д и т.п., но интересует именно стандратное кросс-платформенное решение?
Этого нет в стандартной библиотеке или я просто не умею искать?

UPD: я слишком многого хотел от std, вопрос снят
  • Вопрос задан
  • 182 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 2
@rPman
c++11 и есть стандарт std::thread, std::mutex, std::lock_guard, std::unique_lock, std::condition_variable
типа так:
 std::mutex m;
 // ...
 {
  std::lock_guardstd::mutex lock(m);
  // критическая секция
 }
Ответ написан
@Mercury13
Программист на «си с крестами» и не только
Для чего нужен межпроцессный мьютекс? Для объекта (обычно куска памяти), который не проверяется на уровне системы и в то же время разделён между процессами.

А в стандарте Си++ вообще такие объекты есть? Файлы проверяются. Каналы — насколько помню, нет стандартных, но они тоже проверяются.

UPD3. Syncstream всё же содержит мьютекс, но второе решение — скопить данные в stringstream и сбросить их одной транзакцией — работает.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы