Инициализация критического раздела при создании поточно-ориентированного синглтона (C ++) - PullRequest

Ответы [ 2 ]

2 голосов
/ 02 июня 2010

Оберните критический раздел в класс (используйте готовый или создайте свой собственный) и объявите глобальную переменную этого класса - тогда критический раздел будет инициализирован во время запуска программы и деинициализирован при выходе из программы.Поскольку запуск и выход выполняются в одном потоке, он будет работать надежно.

0 голосов
/ 02 июня 2010

Используйте pthread_once (), и вы можете инициализировать критический раздел, прежде чем использовать его в первый раз. В Windows есть функция InitOnceExecuteOnce .

...