pthread参数传递

来源:互联网 发布:js查找字符串中的字符 编辑:程序博客网 时间:2024/06/06 03:10
涉及多参数传递给线程的,都需要使用结构体将参数封装后,将结构体指针传给线程定义一个结构体struct mypara{       var para1;//参数1       var para2;//参数2}将这个结构体指针,作为void *形参的实际参数传递struct mypara pstru;pthread_create(&ntid, NULL, thr_fn,& (pstru));函数中需要定义一个mypara类型的结构指针来引用这个参数 void *thr_fn(void *arg){       mypara *pstru;       pstru = (* struct mypara) arg;       pstru->para1;//参数1       pstru->para2;//参数2}
传入必须是一个地址接受函数可以接收指针或者引用如:typdef struct {} ITEM;ITEM item;pthread(&pt,NULL,void*(*)(void*)RunOnce,&item);int RunOnce(ITEM& _item){    ITEM& item=_item;//上次忘了写这句话, 直接用_item,结果指针好像错位了.也不知道哪里错了.郁闷    //TO_DO}或者int RunOnce(ITEM* _pitem){    ITEM* pitem=_pitem;    //TO_DO}