VC多线程的用法
.h 文件
#define WM_TEST WM_USER + 1
class CTestThread : public CWinThread
{
DECLARE_DYNCREATE(CTestThread)
protected:
CTestThread ();
virtual ~CTestThread ();
public:
virtual BOOL InitInstance();
virtual int ExitInstance();
protected:
afx_msg void OnTest(WPARAM wParam,LPARAM lParam);
DECLARE_MESSAGE_MAP()
};
.Cpp 文件
#include "stdafx.h"
#include "TestThread.h"
IMPLEMENT_DYNCREATE(CTestThread, CWinThread)
CTestThread::CTestThread()
{
}
CTestThread::~CTestThread()
{
}
BEGIN_MESSAGE_MAP(CTestThread, CWinThread)
ON_THREAD_MESSAGE(WM_TEST,OnTest)
END_MESSAGE_MAP()
BOOL CTestThread::InitInstance()
{
return TRUE;
}
int CTestThread::ExitInstance()
{
return CWinThread::ExitInstance();
}
void CTestThread::OnTest(WPARAM wParam,LPARAM lParam)
{
AfxMessageBox("test");
}
调用的地方
CWinThread* m_pThrd;
//启动
m_pThrd = AfxBeginThread(RUNTIME_CLASS(CTestThread));
// 需要执行线程中的操作时
m_pThrd->PostThreadMessage(WM_TEST,NULL,NULL);
// 结束线程
HANDLE hp=m_pThrd->m_hThread;
if (hp)
{
if (WaitForSingleObject(hp, 1) != WAIT_OBJECT_0)
{
TerminateThread(hp,0);
}
CloseHandle(hp);
}
最新文章
- bootstrap的table调用本列ID
- 如何将C++代码逆向生成类图 (VS2013)
- Leetcode Unique Word Abbreviation
- inconfont 字体库应用
- 20.fastDFS集群java代码测试
- strncpy基本用法
- AT&;T Assembly for Linux and Mac (sys_exit)
- Android clickable 和 focusable
- UR fall detection dataset
- OTG 接口烧写最小Linux的方法
- rsyslog 走tcp通讯配置
- My sql添加远程用户root密码为password
- Netmask, 子网与 CIDR (Classless Interdomain Routing)
- [转]关于oracle sql语句查询时表名和字段名要加双引号的问题
- Ubuntu18.04下安装Sublime Text3!
- 图像阈值化-threshold、adaptivethreshold
- Win32进程创建、进程快照、进程终止用例
- Android 开源项目 eoe 社区 Android 客户端
- ZedGraph如何动态的加载曲线
- mysql更新(八) 可视化工具Navicat的使用 索引
热门文章
- Java Web的开始学习
- cookie 的“Value”=“xxxxx,xxxxx”部分无效
- 转自知乎:GitHub基本功能
- (Python)list的内建函数 filter(), map(), 和 reduce()
- myfocus焦点库的引用
- linux用户、组管理及权限(一)
- load data ERROR 1197 (HY000)错误
- 将src非空的属性注入到des中
- 斯坦福第六课:逻辑回归(Logistic Regression)
- 理解POCO