【发布时间】:2014-12-03 08:44:44
【问题描述】:
我创建了一个存在于用户空间中的 Linux 驱动程序。我创建了一个映射到一些自定义硬件寄存器的内存映射共享文件。
驱动程序将执行通常的读取-修改-写入操作,因此我需要某种锁来确保同步。
我正在制作的驱动程序可以被许多进程使用,当然还有线程,所以我想知道哪个是处理这个问题的最佳方法。
std::mutex 是否足以处理这种情况?我读到 std::mutex 不适用于多进程应用程序,这是真的吗?
我无法使用 Boost 库。
【问题讨论】:
-
您需要使用跨线程和进程的平台特定原语。
标签: c++ multithreading memory-mapping