寻求解答,关于飞狐预警。
0040E555 /. 55 push ebp
0040E556 |. 8BEC mov ebp, esp
0040E558 |. 51 push ecx
0040E559 |. 894D FC mov dword ptr [ebp-4], ecx
0040E55C |. 6A 01 push 1
0040E55E |. 8B4D FC mov ecx, dword ptr [ebp-4]
0040E561 |. E8 4A170000 call 0040FCB0
0040E566 |. B9 781F8D00 mov ecx, 008D1F78
0040E56B |. E8 50140000 call 0040F9C0
0040E570 |. 85C0 test eax, eax
0040E572 |. 74 32 je short 0040E5A6
0040E574 |. 8B45 FC mov eax, dword ptr [ebp-4]
0040E577 |. C780 E8070000>mov dword ptr [eax+7E8], 1
0040E581 |. 6A 00 push 0
0040E583 |. 6A 00 push 0
0040E585 |. 6A 00 push 0
0040E587 |. 6A F1 push -0F
0040E589 |. 8B4D FC mov ecx, dword ptr [ebp-4]
0040E58C |. 81C1 E0070000 add ecx, 7E0
0040E592 |. 51 push ecx
0040E593 |. 68 D27B4000 push 00407BD2
0040E598 |. E8 2F2D3C00 call <jmp.&mfc42.#1105_AfxBeginThread>
0040E59D |. 8B55 FC mov edx, dword ptr [ebp-4]
0040E5A0 |. 8982 DC070000 mov dword ptr [edx+7DC], eax
0040E5A6 |> 8B45 08 mov eax, dword ptr [ebp+8]
0040E5A9 |. 50 push eax
0040E5AA |. 8B4D FC mov ecx, dword ptr [ebp-4]
0040E5AD |. E8 DEF61B00 call 005CDC90
0040E5B2 |. 8BE5 mov esp, ebp
0040E5B4 |. 5D pop ebp
0040E5B5 \. C2 0400 retn 4
以上是从飞狐交易师的预警中提取的汇编代码,在这段代码中创建了一个线程去预警选股,线程过程也就是00407bd2,跟踪执行之后,我发现要到执行完最后一行,retn 4 返回之后,才会去执行00407bd2,我对windows的多线程不是了解,但是跟踪发现飞狐经常在这个线程中发生waitingforsingleobject()调用错误而崩溃退出,跟踪代码未发现有用户代码调用waitingforsingleobject()函数,而waitingforsingleobject()函数防止多线程下的资源抢占,防止死锁崩溃,所以这段代码是否会造成资源抢夺,死锁,如果要防止死锁要如何修改汇编代码,那位知道帮帮忙?万分感谢!!!!!!