#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
最新资源
- 基于Go-micro微服务的秒杀系统详细文档+优秀项目+全部资料.zip
- 基于golang实现在线客服系统,包含用户端(h5,微信小程序),客服端(PC),方便跟已有的系统整合。适用于小程序自带的客服系统无法满足或有多端业务需求的情况详细文档+优秀项目+全部资料.zip
- 基于gorillawebsocket封装的websocket库,实现基于系统维度的消息推送,基于群组维度的消息推送,基于单个和多个客户端消息推送详细文档+优秀项目+全部资料.zip
- 基于Go-Zero + Vue3 + TypeScript + Element-Plus开发的简单高效权限管理系统详细文档+优秀项目+全部资料.zip
- 基于Go-Zero Nestjs + Vue3 + TypeScript + Element-Plus开发的简单高效权限管理系统详细文档+优秀项目+全部资料.zip
- linux常用命令大全.txt
- 基于go-zero的影票售卖系统详细文档+优秀项目+全部资料.zip
- 基于Go-Zero + vue-element-admin的前后端分离微服务管理系统的前端模块详细文档+优秀项目+全部资料.zip
- 基于go-zero 框架实现的电商系统的后端服务详细文档+优秀项目+全部资料.zip
- 基于go-zero实现的网盘系统详细文档+优秀项目+全部资料.zip
- 基于go-zero框架数据中台系统详细文档+优秀项目+全部资料.zip
- 基于go-zero和gorm开发的分布式微服务后端权限管理系统脚手架。十分合适新手入手go-zero、gorm、casbin、jwt等。详细文档+优秀项目+全部
- 基于Go的WebSocket直播间推送系统详细文档+优秀项目+全部资料.zip
- 基于Go和GraphQL的微型进销存系统:服务器端(基于Golang,GraphQL,GORM,jwt-go等开发)详细文档+优秀项目+全部资料.zip
- 基于go的自托管博客系统详细文档+优秀项目+全部资料.zip
- 基于go开发的分布式高并发web电商系统详细文档+优秀项目+全部资料.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
- 1
- 2
前往页