Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试做与此解决方案中建议的相同的事情:
如何在 Windows 中创建线程安全的单例模式?
但是,临界区应该在哪里初始化和未初始化呢?
将临界区包装成一个类(使用现成的或自己制作)并声明该类的全局变量 - 然后临界区将在程序启动期间初始化并在程序退出时取消初始化。由于启动和退出是在一个线程上完成的,因此它将可靠地工作。
使用 pthread_once() 可以在第一次使用之前初始化临界区。Windows 具有InitOnceExecuteOnce函数。