VC 线程
来源:互联网 发布:淘宝保健品规则 编辑:程序博客网 时间:2024/05/17 00:14
一、
//线程数据结构
typedef struct ThreadData
{
XXXXXXDlg* pDlg;//窗口指针
int inttype = 0;
BOOL Booltype = true;
CString str = "";
}THREADDATA;
THREADDATA* pThreadData = new THREADDATA;
UINT ThreadName_Thread(LPVOID lParam);
//工作线程
UINT ThreadName_Thread(LPVOID lParam)
{
THREADDATA* pThreadData = (THREADDATA*)lParam;//转换参数
//pData->pDlg->m_hWnd
//pData->inttype
//pData->Booltype
//pData->str
while (1)
{
//::SendMessage(pThreadData->pDlg->m_hWnd, WM_TCPSERVERThread, (WPARAM)0, 1);
//pThreadData->pDlg->XXXX();
//printf("Thread:%d %s\r\n", pThreadData->nIndex,pThreadData->nStr);
Sleep(1); //延缓时间1ms
}
delete pThreadData;
return 0;
}
void XXXXDlg::BeginThread()
{
pThreadData->pDlg = this;
this->m_Thread = AfxBeginThread(ThreadName_Thread, pThreadData);//启动工作线程
}
二、
HANDLE m_hDataThread
DWORD WINAPI CXXXX::DataThread(LPVOID lpParameter);
DWORD WINAPI CXXXX::DataThread(LPVOID lpParameter)
{
CXXXX* m_pXXXX=(CXXXX*)lpParameter;
while(1)
{
m_pXXXX->m_cArr[MyNumber] = 123;
m_pXXXX->m_cMark[MyNumber] = TRUE;
int i = m_pXXXX->Function();
::SendMessage(m_pXXXX->hWnd, WM_XXXX, (WPARAM)MsgBuf, LPARAM(1));//向主窗口发送自定义消息
}
return 0;
}
BOOL CXXXX::BeginThread()
{
m_hDataThread= CreateThread(NULL, 0, DataThread, this, 0, NULL);
if (m_hDataThread== NULL)
{
return FALSE;
}
return TRUE;
}
void CXXXX::StopThread()
{
DWORD exitcode;
WaitForSingleObject(m_hDataThread,50);
if(!GetExitCodeThread(m_hDataThread,&exitcode))
{
TerminateThread(m_hDataThread,exitcode);
}
CloseHandle(m_hServerDataThread);
m_hServerDataThread=NULL;
}
- vc 线程
- 线程(vc)
- vc线程
- vc线程
- VC 线程
- 线程间通讯--VC
- VC++ 线程池
- VC#与线程
- VC实现线程池
- VC实现线程池
- VC 线程间通信
- VC 线程池
- 【转帖】vc 线程
- VC++线程通信
- VC创建线程
- VC线程同步方法
- vc 创建线程
- vc 线程创建关闭
- [spark] mllib决策树通过Strategy修改内存,java实现
- POJ 1740 A New Stone Game(博弈)
- C++学习笔记1 类与析构函数
- 【Linux开发】Ubuntu图形界面切换与磁盘扩展分区
- java定时任务
- VC 线程
- 我的Map实现
- JAVA MAP相关
- 启动MongoDB时cmd窗口一闪而过
- Java 程序员必须收藏的资源大全
- 【转载】CSDN-markdown语法之如何使用LaTeX语法编写数学公式
- 以顺序表存储的大整数运算
- 走进AndroidStudio下的NDK
- Java布局管理器setLayout()