【发布时间】:2015-03-14 14:58:48
【问题描述】:
我对 pthread_join() 有问题,希望大家回答。 我正在运行下面的程序,并且有一行要打印出来。之后,我尝试删除“pthread_join(th,&val),并且没有要打印的行。
我发现程序中的所有功能,但我不明白为什么。
你能帮我吗,我很感激所有的答案。
#include <stdio.h>
#include <stdlib.h>
#include <pthread.h>
#define SMALL_STACK 131072
pthread_attr_t thread_attr;
void* fn(void* arg);
int main(int argc, char** argv)
{
pthread_attr_init(&thread_attr);
pthread_attr_setstacksize(&thread_attr, SMALL_STACK);
pthread_t th;
pthread_create(&th, &thread_attr, fn, (void*)14);
void* val;
pthread_join(th, &val);
return 0;
}
void* fn(void* arg)
{
printf("arg = 0x%x\n", (int)arg);
return NULL;
}
【问题讨论】:
标签: c pthread-join