第九章线程检查器
* 一些其他线程化的错误 死锁 死锁是当一个线程等待一个永远不会发生的事件的时候发生的情况 死锁的最常见原因是锁的层次 * 一些其他线程化的错误 死锁的例子 DWORD WINAPI threadA(LPVOID arg) { EnterCriticalSection(L1); EnterCriticalSection(L2); processA(data1, data2); LeaveCriticalSection(L2); LeaveCriticalSection(L1); return(0); } ThreadA: L1, then L2 DWORD WINAPI threadB(LPVOID arg) { EnterCriticalSection(L2); EnterCriticalSection(L1); processB(data2, data1); LeaveCriticalSection(L1); LeaveCriticalSection(L2); return(0); } ThreadB: L2, then L1 * 一些其他线程化的错误 另一个死锁的例子 typedef struct { // some data things SomeLock
原创力文档

文档评论(0)