c++ - C++11 之前的 C++ 中的互斥量

标签 c++ mutex c++03

问题很简单 - 在 C++11 之前的 C++ 中,什么是简单、现成的互斥锁解决方案?我不需要任何花哨的东西 - 只需一些代码来等待另一个回调(可能随时发生)在执行之前完成。

我在您的日常 PC 上运行,i7 等等。没有特定的性能要求(只是不要太慢),但必须完成停止一个进程并让另一个进程完成然后恢复第一个进程的工作。

提前致谢!

最佳答案

Boost Synchronization肯定是一个有效的选项。

如果您不想使用 Boost(根据您的问题,您可能会发现它对您的需求来说太过分了),您可以围绕目标平台提供的 API(即 POSIX thread mutex 用于 POSIX)编写自己的 C++ 类包装器兼容平台,或 Windows MutexesCritical Sections 在 Microsoft Windows 操作系统上)。

肯定有很多这样的包装类已经被其他人实现了,即您可以尝试使用 mutex 关键字在 GitHub 上搜索并限制代码和 C++ 语言的结果(here are a lot of results)。

关于c++ - C++11 之前的 C++ 中的互斥量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41871072/

相关文章:

c++ - 在 switch 语句中使用结构

c++ - 如何检测循环调用?

C++ 代码生成 : create a factory for function pointers

c++ - 我试图在 C++03 中嵌套 boost 的 "map_list_of",但显然构造不明确?

c++ - 我应该将哪个 Boost 版本与支持 C++03 的编译器一起使用?

c++ - GCC __attribute__((constructor)) 在对象构造函数之前被调用

go - 检测同一个 goroutine 连续两次调用 sync.Mutex.Lock()

C++如何在银行账户转账时避免竞争条件

使用信号量的 C 生产者消费者

c++ - 如何在 Qt 5 中写入和读取 QResource 文件?