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;
 
                     
                    
                 
                    
                 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号 
