【发布时间】:2010-06-02 06:44:55
【问题描述】:
我正在尝试执行此解决方案中建议的相同操作:
How can I create a thread-safe singleton pattern in Windows?
但是,临界区应该在哪里初始化和取消初始化呢?
【问题讨论】:
标签: c++ multithreading singleton critical-section
我正在尝试执行此解决方案中建议的相同操作:
How can I create a thread-safe singleton pattern in Windows?
但是,临界区应该在哪里初始化和取消初始化呢?
【问题讨论】:
标签: c++ multithreading singleton critical-section
将临界区包装到一个类中(使用现成的或自己制作)并声明该类的全局变量 - 然后临界区将在程序启动期间初始化并在程序退出时取消初始化。由于启动和退出是在一个线程上完成的,因此它可以可靠地工作。
【讨论】:
使用 pthread_once() 可以在第一次使用之前初始化临界区。 Windows 有InitOnceExecuteOnce 功能。
【讨论】: