#include "stdafx.h"
#include "Framework.h"
#include "Thread.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
/**
*************************************************************
* 函 数 名: CThread
* 描 述: 构造函数,初始化线程句柄和线程id
* 输入参数: 无
* 输出参数: 无
* 返 回 值: 无
* 创 建 人:
* 日 期: 2006/11/14
* 修改记录:
* 修改人 修改日期 修改描述
*************************************************************
*/
CThread::CThread():m_ThreadHandle(0), m_ThreadId(0)
{
}
/**
*************************************************************
* 函 数 名: ~CThread
* 描 述: 线程类的析构函数,需要释放线程句柄
* 输入参数:
* 输出参数:
* 返 回 值:
* 创 建 人:
* 日 期: 2006/11/14
* 修改记录:
* 修改人 修改日期 修改描述
*************************************************************
*/
CThread::~CThread()
{
if (0 != m_ThreadHandle)
{
::CloseHandle(m_ThreadHandle);
}
}
/**
*************************************************************
* 函 数 名: Start
* 描 述: 线程的启动函数,该函数负责创建线程并启动线程
* 输入参数: 无
* 输出参数: 无
* 返 回 值: 0:成功, 1:失败
* 创 建 人:
* 日 期: 2006/11/14
* 修改记录:
* 修改人 修改日期 修改描述
*************************************************************
*/
DWORD CThread::Start(void)
{
m_ThreadHandle = CreateThread(NULL, 0, &CThread::ThreadProc, this, 0, &m_ThreadId);
if (0 == m_ThreadHandle)
{
return 1;
}
return 0;
}
/**
*************************************************************
* 函 数 名: End
* 描 述: 结束线程
* 输入参数: 无
* 输出参数: 无
* 返 回 值: void
* 创 建 人:
* 日 期: 2006/11/15
* 修改记录:
* 修改人 修改日期 修改描述
*************************************************************
*/
void CThread::End(void)
{
if (0 != m_ThreadHandle)
{
::CloseHandle(m_ThreadHandle);
m_ThreadHandle = 0;
}
}
/**
*************************************************************
* 函 数 名: ThreadProc
* 描 述: 线程处理函数,它调用派生类实现的Run来完成线程的处理工作
* 输入参数:
* 输出参数:
* 返 回 值:
* 创 建 人:
* 日 期: 2006/11/14
* 修改记录:
* 修改人 修改日期 修改描述
*************************************************************
*/
DWORD CThread::ThreadProc(PVOID pArg)
{
if (NULL == pArg)
{
return 1;
}
CThread* thr = (CThread*)pArg;
thr->Run();
return 1;
}
磐石028
- 粉丝: 0
- 资源: 3
最新资源
- C#/WinForm演示退火算法(源码)
- 如何在 IntelliJ IDEA 中去掉 Java 方法注释后的空行.md
- 小程序官方组件库,内含各种组件实例,以及调用方式,多种UI可修改
- 2011年URL缩短服务JSON数据集
- Kaggle-Pokemon with stats(宠物小精灵数据)
- Harbor 最新v2.12.0的ARM64版离线安装包
- 【VUE网站静态模板】Uniapp 框架开发响应式网站,企业项目官网-APP,web网站,小程序快速生成 多语言:支持中文简体,中文繁体,英语
- 使用哈夫曼编码来对字符串进行编码HuffmanEncodingExample
- Ti芯片C2000内核手册
- c语言实现的花式爱心源码
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页