和多进程一样,多线程也有自己的等待函数。这个等待函数就是pthread_join函数。那么这个函数有什么用呢?我们其实可以用它来等待线程运行结束。
- #include <stdio.h>
- #include <pthread.h>
- #include <unistd.h>
- #include <stdlib.h>
- 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即可。
- [test@localhost thread]$ ./thread
- this is func!
- this is end of main!
本文介绍了一个用于多线程编程的重要函数pthread_join。通过一个简单的C++示例程序演示了如何使用该函数确保主线程能够等待子线程完成执行后再继续执行。文章提供了完整的代码示例及编译指令。
2512

被折叠的 条评论
为什么被折叠?



