线程相关函数pthread_join究竟是什么意思

pthread_join使一个线程等待另一个线程结束。代码中如果没有pthread_join主线程会很快结束从而使整个进程结束,从而使创建的线程没有机会开始执行就结束了。加入pthread_join后,主线程会一直等待直到等待的线程结束自己才结束,使创建的线程有机会执行。能否用通俗易懂的话描述一下这段话的意思?

3个回答

将异步的代码变为同步执行。打比方,你喊一个人帮你做一件事,你喊了这人以后,你就继续做你的事情了。但是你现在想在那人完成以后你再继续做你的事情,就join他。
再比如,你调用一个文件拷贝的线程,然后再读取拷贝的文件的数据,而文件拷贝是异步的,自然你希望等拷贝完了再继续执行,那么就用到这个了。

sdj18202751351
qq_344258165 能用这个函数控制多个线程的执行先后顺序吗?
3 年多之前 回复

就是守护线程,为了保护一些必须执行的步骤能够一定执行,会应用到守护线程概念,楼主可以直接搜索这个关键词百度更多。

因为如果一个进程的主线程退出了,那么整个进程就会退出,因而其他线程就会被强制终止
而用pthread_join了,主线程就会在这里等待,直到子线程退出,主线程才会继续运行。

sdj18202751351
qq_344258165 其实你这个说的最通俗易懂
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问