2

我正在尝试做与此解决方案中建议的相同的事情:

如何在 Windows 中创建线程安全的单例模式?

但是,临界区应该在哪里初始化和未初始化呢?

4

2 回答 2

2

将临界区包装成一个类(使用现成的或自己制作)并声明该类的全局变量 - 然后临界区将在程序启动期间初始化并在程序退出时取消初始化。由于启动和退出是在一个线程上完成的,因此它将可靠地工作。

于 2010-06-02T06:46:42.823 回答
0

使用 pthread_once() 可以在第一次使用之前初始化临界区。Windows 具有InitOnceExecuteOnce函数。

于 2010-06-02T08:16:40.743 回答