2010-06-02 2 views

답변

2

크리티컬 섹션을 클래스에 랩핑하고 (준비된 코드를 사용하여) 클래스의 전역 변수를 선언하십시오. 그러면 크리티컬 섹션이 프로그램 시작 중에 초기화되고 프로그램 종료시 초기화 해제됩니다. 시작과 종료가 하나의 스레드에서 수행되므로 안정적으로 작동합니다.

+0

당신이 말하는 것을 이해합니다. 감사! – Akshay

0

pthread_once()를 사용하면 중요한 섹션을 처음 사용하기 전에 초기화 할 수 있습니다. Windows에는 InitOnceExecuteOnce 기능이 있습니다.

+0

부스트 (pthread_once() 대신)를 사용하면 다음과 같은 해결책을 사용할 수 있습니다. http://stackoverflow.com/questions/2955921/thread-safe-in-italization-of-function-local-static -const-objects/2956314 # 2956314 – Nikko

+0

pthread를 사용하는 경우 windows critical 섹션이 필요하지 않습니다. – basin