使用CreateThread创建线程
来源:互联网 发布:苍蝇粉淘宝叫什么 编辑:程序博客网 时间:2024/06/05 17:41
闲话少说,直接进入主题。
首先声明线程函数:
static unsigned long __stdcall PlayThread(LPVOID pData) ; //LPVOID pData为所要传入的参数,如果没有也可以设为void
线程函数实体:
unsigned long __stdcall CPlateDemoDlg::PlateThread(LPVOID pData) // 博主是在对话框中创建的线程,所以最好传入这个对话框的句柄
{
CPlateDemoDlg *pDlg = (CPlateDemoDlg*)pData ; // 根据传入对话框句柄来创建句柄实例
。
。
return 0;
}
创建线程:
DWORD dwThreadId = 0 ;
HANDLE m_threadHandle ;
m_threadHandle = CreateThread(NULL,0,PlateThread,(LPVOID)this,0,&dwThreadId) ; // (LPVOID)this就是当前对话框的句柄,这时线程就已经创建了
这是创建和使用线程的整个过程,虽然简单,但是很实用。当使用完这个线程后记得要使用CloseHandle(m_threadHandle) ; m_threadHandle = NULL ;来释放句柄内存。如果代码中有用到while()循环来处理操作而又比较复杂不容易跳出循环的,则最好用线程来实现。比如传输文件的进度显示,虽然用定时器也可以实现,但是定时器的优先级比较低,很容易被其他优先级高的操作替换掉,所以还是使用线程来实现比较妥当。
- 使用CreateThread创建线程
- 避免使用CreateThread 创建线程
- 使用CreateThread函数创建线程
- MFC中使用CreateThread创建线程
- 用CreateThread()创建线程
- 创建线程 - CreateThread
- CreateThread函数--创建线程
- 线程创建函数CreateThread
- CreateThread创建线程函数
- -创建线程的函数CreateThread
- _beginthread和CreateThread 创建线程
- 在Delphi中创建线程,请一定使用BeginThread()代替CreateThread()创建线程!
- 在Delphi中创建线程,请一定使用BeginThread()代替CreateThread()创建线程!
- 在Delphi中创建线程,请一定使用BeginThread()代替CreateThread()创建线程!
- CreateThread()线程创建函数,AfxBeginThread等
- CreateThread()线程创建函数,AfxBeginThread等
- -用哪个创建线程CreateThread还是_beginthread
- CreateThread创建线程传递结构体参数
- 科技行业十大失败交易:AOL时代华纳合并最糟
- Crystal Report XI R2 总是弹出参数对话框
- 朝鲜版linux:《Red Star 2.0》体验手记
- js里面没有trim方法,只有自己写咯
- 美国顾客满意度指数模型(ACSI,American Customer Satisfaction Index)
- 使用CreateThread创建线程
- linux powerpc i2c驱动 之 i2c adapter层的注册过程
- 配置Struts.xml无提示信息解决
- 对于不返回任何键列信息的 SelectCommand,不支持 UpdateCommand 的动态 SQL 生成
- 全零网络IP地址0.0.0.0表示意义详谈
- Android 的网络编程
- Google C++ Style Guide
- 【Android手机游戏】贪吃蛇(1)
- [组图]摩托罗拉80年历史回眸(1928-2008)