|
class Test
{
TList* pList;
A();
B();
..
};
void Test::A()
{
EnterCriticalSection(&cs);
리스트에 삭제
LeaveCriticalSection(&cs);
}
void Test::B()
{
EnterCriticalSection(&cs);
리스트 참조
LeaveCriticalSection(&cs);
}
쓰레드에서 사용한다고 가정하여
B() 에서 pList 를 참조하는 과정에서 A()가 실행되어 삭제될때
보호를 받을수 있나요?
아니면 세마포어나 뮤텍스를 사용하여야 하나요..
꼭좀 알려주세요....
|