解决方案 »
- 怎么在全局函数中获取对话框上控件的句柄?答就有分
- 用msxml保存xml文件,为什么会少头部的几个字符
- 程序退出时,出现错误:afx.inl 行122
- 如何使用VC对文件夹和磁盘分区操作?
- 把flash文件转化成为avi 如何实现,请各位给点思路,谢谢
- 请教简单问题,函数语法。
- 如何获取菜单条的屏幕坐标?
- 求类似csdn “技术”区 中发表文章时的 那个可以编辑文章的 activex
- 最近要写控件,其大家推荐一本好书...
- 求助(关于类型转换。。。
- 怎么能在一个线程中调用,timeSetEvent()函数
- sqlServer 2012 查询 提示:消息 156,级别 15,状态 1,第 1 行
之后Sleep
没有ReleaseMutex,另一个线程的WaitForSingleObject不会返回
DWORD WINAPI ThreadProc18(LPVOID pthread)
{
while(1)
{
WaitForSingleObject(hMutex,INFINITE);
for (int i=0;i<10;i++)
{
CWnd * pWnd;
pWnd =CWnd::FindWindow ( NULL, "UDP_test" );//UDP_test为对话框标题
CString str;
str.Format("%d",i);
pWnd->SetDlgItemText(IDC_EDIT1_xiancheng2,str);
Sleep(100);
}
global_count++;
ReleaseMutex(hMutex);
}
}
DWORD WINAPI ThreadProc19(LPVOID pthread)
{
while(1)
{
WaitForSingleObject(hMutex,INFINITE);
for (int i=0;i<10;i++)
{
CWnd * pWnd;
pWnd =CWnd::FindWindow ( NULL, "UDP_test" );//UDP_test为对话框标题
CString str;
str.Format("%d",i);
pWnd->SetDlgItemText(IDC_EDIT1_xiancheng,str);
Sleep(100);
}
global_count++;
ReleaseMutex(hMutex);
}}
程序中还使用了WSAAsyncSelect(m_socket_net,m_hWnd,UM_SOCK,FD_READ),socket UDP通信,在
case FD_READ:
...
WaitForSingleObject(hMutex,INFINITE);
global_count++;
ReleaseMutex(hMutex);
break;
程序运行后,上面的两个线程工作正常,交替增加并显示,但是当接收到网络数据时,程序停在case FD_READ的WaitForSingleObject(hMutex,INFINITE);处,所有线程停止,程序死了,请问是怎么回事?十分感谢!