线程同步和死锁问题 - C/C++ / C语言
#include <windows.h>#include <stdio.h>CRITICAL_SECTION cs1;CRITICAL_SECTION cs2;DWORD WINAPI threadProc(PVOID pvParam){ EnterCriticalSection(&cs1); printf("1\n"); LeaveCriticalSection(&cs1);}DWORD WINAPI threadProc2(PVOID pvParam){ EnterCriticalSection(&cs2); printf("2\n"); LeaveCriticalSection(&cs1);}int main(){ DWORD dwId; HANDLE hThread[2]; InitializeCriticalSection(&cs1); InitializeCriticalSection(&cs2); hThread[0]=CreateThread(NULL, 0, threadProc, NULL, 0, &dwId); hThread[1]=CreateThread(NULL, 0, threadProc2, NULL, 0, &dwId); WaitForMultipleObjects(2,hThread,FALSE,INFINITE); EnterCriticalSection(&cs1); printf("Main Thread---SendMessage\n"); LeaveCriticalSection(&cs1); CloseHandle(hThread[0]); CloseHandle(hThread[1]); DeleteCriticalSection(&cs1); DeleteCriticalSection(&cs2); return 0;}