和多进程一样,多线程也有自己的等待函数。这个等待函数就是pthread_join函数。
那么这个函数有什么用呢?我们其实可以用它来等待线程运行结束。
[cpp] view plaincopy
#include
#include
#include
#include
void func(void* args)
{
sleep(2);
printf(“this is func!\n”);
}
int main()
{
pthread_t pid;
if(pthread_create(&pid, NULL, func, NULL))
{
return -1;
}
pthread_join(pid, NULL);
printf(“this is end of main!\n”);
return 0;
}
编写wait.c文件结束之后,我们就可以开始编译了。首先你需要输入gcc wait.c -o wait -lpthread,
编译之后你就可以看到wait可执行文件,输入。/wait即可。
[cpp] view plaincopy
[test@localhost thread]$ ./thread
this is func!
this is end of main!