linux-Mac-ios的线程创建相关

 

Mac 线程创建:

复制代码
pthread_t*          pThreadHandle;       

创建线程:
//为每个线程分配内存,pthread_t 数据结构用来存储线程的专有信息
//当你声明的是线程指针的时候一定要记得malloc,否则pthread_create会崩溃;
pThreadHandle = (pthread_t*)malloc(sizeof(pthread_t));
//runthread一般是一个静态函数,所以要访问类(非静态)成员你要使用到this指针;
int err = pthread_create(pThreadHandle, NULL, runThread, this);


//-----------runthread的声明---Wrapper类的私有静态成员函数----------

 static void*runThread(void* pUser);  //pthread_create的第四个参数,也就是上边的this,就是这个runthread的puser参数



//---------------线程实现------------------------------------ void* Wrapper::runThread(void* puser)//
pthread_create中的this就是这个puser
{
  
if (puser)
  { Wrapper* pThis =(Wrapper*)puser;
pThis->plFun();
}
return nullptr;
}
-------------------------------------------------
int Wrapper::plFun()
{
    while(***)
    {
         //do something
    }
}

销毁的时候记得 free(
pThreadHandle);pThreadHandle = null;

复制代码

 

posted on   邗影  阅读(46)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示