运行结果如下:

文章插图
pthread_join函数会阻塞主线程 , 只有等待线程执行完毕线程处理函数之后 , 才会继续执行主进程 。
总结:
- 如果thread线程通过return返回,retval所指向的单元里存放的是thread线程函数的返回值 。
- 如果thread线程被别的线程调用pthread_ cancel异常终掉,retval所指向的单元里存放的是常数PTHREAD_CANCELED(-1) 。
- 如果thread线程是自己调用pthread_exit终止的,retval所指向的单元存放的是传给pthread_exit的参数 。
- 如果对thread线程的终止状态不感兴趣,可以传NULL给retval参数 。
- 一般情况下,线程终止后,其终止状态会一直保留到其他线程调用pthread_join获取它的状态为止 。但是线程也可以被设置成detach状态,这样的线程一旦中止就立刻回收它占有的所有资源,而不保留终止状态 。
- 不能对一个已经处于detach状态的线程调用pthread_join,这样的调用将返回EINVAL错误 。也就是说,如果已经对一个线程调用了pthread_detach就不能再调用pthread_join了 。
推荐阅读
- 1斤等于多少磅 一斤等于多少磅
- 荣耀v40屏幕材质_荣耀v40屏幕多大
- 香奈儿山茶花洗面奶味道不一样了_香奈儿洗面奶味道变了
- 怎样快速赚钱(期货1万一年挣1亿)
- Kotlin Mockito使用方法
- 一文理解Cookie、Session
- 一 网络安全:信息收集之玩转nmap(理论篇)
- 荣耀50多久上市_荣耀50什么时候上市
- 华为nova8安兔兔跑分_华为nova8跑分多少
- 天玑1100相当于骁龙多少处理器_天玑1100相当于骁龙什么水平