多线程的测试
来源:百度文库 编辑:神马文学网 时间:2024/04/19 09:29:32
多线程的测试
全局:
CEvent g_event;
UINT MyThreadProc(LPVOID pParam);
OnInitDialog()中:
AfxBeginThread((AFX_THREADPROC)MyThreadProc,(LPVOID)this);
UINT MyThreadProc(LPVOID pParam)
{
ATLTRACE("thread start\n");
CGraphofData* ptdlg=(CGraphofData*)pParam;
while(1)
{
ATLTRACE("等待信号:\n");
WaitForSingleObject(g_event.m_hObject,INFINITE);
//ptdlg->AddData2Oscilloscope(3,0);
ATLTRACE("有信号\n");
ATLTRACE("get_filedata.size()=%d\n",get_filedata.size());
for(int i=0;i{
ATLTRACE("i=%d,delaytime=%d,data=%d\n",i,get_filedata[i].delaytime,get_filedata[i].data);
Sleep(get_filedata[i].delaytime);
ptdlg->AddData2Oscilloscope(get_filedata[i].band,get_filedata[i].data);
}
}
ATLTRACE("thread end\n");
return 0;
}
在需要调用线程函数时设置有信号,即:
g_event.SetEvent();
全局:
CEvent g_event;
UINT MyThreadProc(LPVOID pParam);
OnInitDialog()中:
AfxBeginThread((AFX_THREADPROC)MyThreadProc,(LPVOID)this);
UINT MyThreadProc(LPVOID pParam)
{
ATLTRACE("thread start\n");
CGraphofData* ptdlg=(CGraphofData*)pParam;
while(1)
{
ATLTRACE("等待信号:\n");
WaitForSingleObject(g_event.m_hObject,INFINITE);
//ptdlg->AddData2Oscilloscope(3,0);
ATLTRACE("有信号\n");
ATLTRACE("get_filedata.size()=%d\n",get_filedata.size());
for(int i=0;i
ATLTRACE("i=%d,delaytime=%d,data=%d\n",i,get_filedata[i].delaytime,get_filedata[i].data);
Sleep(get_filedata[i].delaytime);
ptdlg->AddData2Oscilloscope(get_filedata[i].band,get_filedata[i].data);
}
}
ATLTRACE("thread end\n");
return 0;
}
在需要调用线程函数时设置有信号,即:
g_event.SetEvent();
多线程的测试
多线程的测试 - wuzoujing的专栏 - CSDNBlog
多线程错误的思考
最小的多线程框架
PB的多线程
Linux下的多线程编程
java多线程的两点误区
多线程编程浅析 -- 多线程的互斥与同步
基于事件的NIO多线程服务器
JAVA 的多线程浅析 - 解惑 - CSDNBlog
Linux系统下的多线程编程入门
基于事件的NIO多线程服务器
基于事件的NIO多线程服务器
关于vc下的多线程调试
Windows 的多线程程序设计初步zz
JAVA 的多线程浅析 - 解惑 - CSDNBlog
实时多线程系统的日志实现
Linux系统下的多线程编程入门
详解.NET多线程异常的处理方法
Delphi关于多线程同步的一些方法
Linux多线程 Linux多线程
[ 永远的UNIX > Linux下的多线程编程 ]
Linux 的多线程编程的高效开发经验
Linux 的多线程编程的高效开发经验