首页 > 其他 > 详细

wait()与waitpid()与pthread_join()

时间:2014-02-19 15:26:51      阅读:958      评论:0      收藏:0      [点我收藏+]

wait()与waitpid()用于等待进程结束

#include <sys/wait.h>

pid_t wait(int *statloc);          //参数获取终止状态

pid_t waitpid(pid_t pid, int *statloc, int options);     //pid==-1时,与wait()等效。

  当一个进程正常或异常结束时,内核就向其父进程发送SIGCHLD信号。

    如果所有子进程都还在运行,则阻塞。

    如果一个子进程终止,正等待父进程获取其终止状态,则取得该子进程的终止状态立即返回。

    如果没有子进程,则立即出错返回。

  区别:

    在一个子进程终止前,wait使其调用者阻塞,而wiatpid()有个选项,可使调用者不阻塞。

    waitpid()并不等待在其调用之后的第一个终止子进程,它有若干选项,可以控制它所等待的进程

    waitpid()提供的wait()的非阻塞版本。 有时用户想获得一个子进程的状态,但不想阻塞。

 

pthread_join()用于等待线程结束。

wait()与waitpid()与pthread_join()

原文:http://www.cnblogs.com/funnylinux/p/3554777.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!