Xcode c c++ 多线程 pthread_create

来源:互联网 发布:复杂网络 聚类 编辑:程序博客网 时间:2024/05/16 12:23

本片是送给初学者,本人死死研究了一晚上。看来错误就要找病根,网上有时候不是很对应

也许是Xcode设置问题,不过在这里就先不说了

void thread(void)

  {
  int i;
  for(i=0;i<3;i++)
  printf("This is a pthread.\n");
  }

{

       pthread_t id;

  int i,ret;
  ret=pthread_create(&id,NULL,(void *) thread,NULL);
  if(ret!=0){
  printf ("Create pthread error!\n");
  exit (1);

}

大部分都是上面程序

但是在XcodeC++混合编程时就会显示没有匹配的pthread_create函数,

int pthread_create(pthread_t * __restrict,

     const pthread_attr_t * __restrict,

     void *(*)(void *),

     void * __restrict);

这是原函数,主要是第三个  void *(*)(void *)

我的编写代码:

类头文件:

class textThread

{

private:

    

public:

    textThread();

    void init();

    static void * thread(void*);

};

类cpp文件:

void * textThread::thread(void *para)

{

    int i;

    for(i=0;i<3;i++)

    printf("This is a pthread.\n");

    returnNULL;

}

voidtextThread::init()

{

    pthread_tid;

    int ret;

    /*int       pthread_create(pthread_t * __restrict,

     const pthread_attr_t * __restrict,

     void *(*)(void *),

     void * __restrict);*/

    ret = pthread_create(&id,NULL,thread, NULL);

    if(ret!=0){

         printf ("Create pthread error!\n");

        exit (1);

    }

}

这样子就OK了,对于Xcode多线程菜鸟希望有用,并且希望牛人指正。

原创粉丝点击