//建立線程
CreateThread
DWORD WINAPI ThreadProc(LPVOID lpParameter);
GetExitCodeThread
WaitForMultipleObjects
TerminateThread //強行終止指定線程。注意:必須由程式員在設計該線程時自行保證該線程可以随時非正常終止,否則的話,嘿嘿,什麼記憶體洩露,非法通路記憶體之類的問題就來了。不到萬不得已,盡量不用。
//信号量
CreateSemaphore
ReleaseSemaphore
WaitForSingleObject
//WaitForSingleObject的傳回值
WAIT_TIMEOUT //等了那麼久,居然還是沒有信号,可以選擇再等幾次。
WAIT_OBJECT_0 //OK!有信号了。
WAIT_ABANDONED //不用再等了,這個對象算是廢了,等再多也沒用!
//臨界區
CRITICAL_SECTION g_cs;
InitializeCriticalSection(&g_cs);
DeleteCriticalSection(&g_cs);
EnterCriticalSection(&g_cs);
LeaveCriticalSection(&g_cs);
//原子操作
InterlockedExchangeAdd