2010-06-02 63 views

回答

2

將關鍵部分包裝成一個類(使用一個準備好的或製作你自己的)並聲明該類的全局變量 - 然後關鍵部分將在程序啓動期間初始化並在程序退出時被初始化。由於啓動和退出是在一個線程上完成的,因此它將可靠地工作。

+0

瞭解你在說什麼。謝謝! – Akshay 2010-06-02 08:00:38

0

使用pthread_once(),您可以在首次使用它之前初始化關鍵部分。 Windows具有InitOnceExecuteOnce功能。

+0

有了boost(而不是pthread_once()),你可以使用像我這樣的解決方案: http://stackoverflow.com/questions/2955921/thread-safe-initialization-of-function-local-static -const-objects/2956314#2956314 – Nikko 2010-06-02 12:13:27

+0

如果你有pthread,你不需要windows臨界區 – basin 2013-09-30 12:11:26