封装windows 线程创建函数_beginthreadex和createthread函数的类

本文介绍了一个封装好的多线程编程类,旨在简化基于_beginthreadex的多线程编程过程,减少程序员的工作负担并提高效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 我这个经验去写多线程编程函数的例子,实在有点太低级,_beginthreadex 虽然足以支持多线程,但是使用的时候传一堆没用的参数,每次使用就得查msdn,把参数给搞全,现在讲究效率的时候,每次都需要把参数补全,是不是太繁琐,为了提高效率,我就封装了这个类,供大伙使用

class api_Thread_lu

{

begin_Thread(unsigned int (*pFunc)(void *),void *Param)
{

   //核心的一个数据结构 包含一个用户数据指针和一个线程函数地址
    INFO_THREAD *lpInfoThread = NULL;
    lpInfoThread = new struct INFO_THREAD;

    lpInfoThread->pUserDate = Param;

   //用户自己定义的线程函数就放在这里了,通过调用beginthreadex 来启动
    lpInfoThread->pThreadFunc = pFunc;

    _beginthreadex(NULL,0,ThreadFunc,lpInfoThread,0,&luThreadID);

    unsigned int luThreadID = 0;//标记线程ID 用不用都行
    return TRUE;

}

void *ThreadFunc(void * lpParam)
{
    INFO_THREAD *lpThreadInfo = (INFO_THREAD *)lpParam;

//用户自定义的函数被执行的地方,线程执行完毕之后,pThreadFunc才返回 返回后退出该函数

     lpThreadInfo->pThreadFunc(lpThreadInfo->pUserDate);

 if (lpThreadInfo != NULL)
 {
  delete lpThreadInfo;//
  lpThreadInfo = NULL;
 }
 _endthreadex(0);
 return 1;
}

}

 

使用的时候比windows的函数使用方便多了,这样简单的两行调用线程就可以跟啰里啰唆的传统很多行代码可以搞定的问题

  api_Thread_lu  loThread;
  loThread.begin_Thread(testFunc, this);//testFunc就是你自己定义的线程入口函数

好了这两行 就可以建线程了 是不是比用widows那一套建立方便多了哪,好用的点赞

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值