【发布时间】:2018-09-24 22:12:23
【问题描述】:
所以我一直试图让它运行,但不知道出了什么问题。我唯一的目的是创建 pthread 并在控制台上输出它们的 ID。刚开始使用c ++,所以我不确定我哪里出错了。你能看看这个,也许能帮帮我吗?谢谢
void *printer(void* temp)
{
pthread_t self_id;
int ret;
self_id=pthread_self();
printf("\nThis is pthread %u\n",self_id);
return NULL;
}
int main (int argc, char* argv[])
{
pthread_t create;
int ret;
ret = pthread_create(&create, NULL, &printer, NULL);
}
return 0;
}
【问题讨论】:
-
pthread_create的第三个参数是新线程启动时调用的函数的地址。$printer是什么? -
@bruceg 我必须创建一个像 void *printer(void *printer) 这样的新函数吗?
-
@DJKHAAAED 是的。
-
@Swordfish 我应该传入什么参数才能打印出 ID?
-
@DJKHAAAED 您不必传递任何参数。在您的
printer()中调用pthread_self()以获取其线程ID。
标签: c++ parallel-processing pthreads