아래와 같이 여러 if, else 조건 중 중요한 섹션을 넣을 수 있습니까? 이 같은임계 구역 및 다중 스레드 응용 프로그램에서 else, 조건
예 1
somefunction()
{
EnterCriticalSection(&(g_variable));
if (...)
{
if (...)
{
...
}
else
{
...
if (...)
{...}
else if (...)
{...}
LeaveCriticalSection(&(g_variable));
}
}
else
{
...
}
}
또는 둥지를 :
예를 도움에 미리 2 개
EnterCriticalSection(&g_List);
EnterCriticalSection(&g_Variable);
...
LeaveCriticalSection(&g_List);
LeaveCriticalSection(&g_Variable);
감사합니다.
예, 코드에 언급 된 중요 섹션을 넣을 수 있습니다. 예를 들어, 동일한 임계 섹션을 사용하는 경우 다른 스레드에 대해 동일한 코드 시퀀스를 유지해야합니다. 그렇지 않으면 교착 상태가 발생합니다. – Sumeet
C++에서, 당신은 __always__를 건설시 중요한 섹션에 들어가는 클래스에 랩핑하고 파기해야합니다. 객체의 수명 기간 중에 여러 번 다시 나가거나 다시 입력해야한다면'Enter'와'Leave' 함수를 추가하십시오. –