на С++. Нужно, чтобы и там, и там был доступ к одному и тому же мьютексу. Как это правильнее всего оформить?
Какая бизнес задача за этим стоит? Очень похоже на кривую архитектуру. Таких случаев быть не должно.
Задача следующая: есть буфер, в который пишет приложение со стороны go, а читает - C++, и наоборот. Мьютекс нужен для чтения-записи. Альтернативно можно со стороны C++ сделать функции-ручки для чтения/записи, внутри которых будет мьютекс, возможно это решение тогда предпочтительнее. Архитектуру поменять особо не получится, очень специфичная задача. Разве что полностью отказываться от написания приложения на go, но этого бы очень не хотелось.
Как вариант, через Redis. Но надёжность этого под вопросом
экспортнуть методы мьютекса через cgo не пробовали?
Go дергает Си метотды, в которых критическая секция.
Обсуждают сегодня