我可以把關鍵部分衆多如果,否則條件,如我在下面顯示?關鍵部分,如果,否則在多線程應用程序
例如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);
預先感謝幫助。
是的,你可以把你的代碼中提到的關鍵部分。例如2,如果其他線程使用相同的關鍵部分,請確保您保持相同的代碼序列,否則將導致死鎖情況。 – Sumeet
在C++中,您應該__always__將其包裝到一個類中,該類將進入構建的臨界區並使其銷燬。如果您需要在對象的生命週期中多次離開/重新輸入,請添加「Enter」和「Leave」功能。 –