进程 线程
fork pthread_create创建新的控制流
exit pthread_exit从现有的控制流中退出
waitpid pthread_join从控制流中得到退出状态
atexit pthread_cleanup_push注册在退出控制流时调用的函数
getpid pthread_selt获取控制流的ID
abort pthread_cancel请求控制流的非正常退出
进程ID:pid_t; 线程ID:pthread_t
进程终止方式:进程中任一线程调用exit, _Exit或_exit
线程终止方式:线程从启动例程中返回;被同进程中的其他线程终止;线程调用pthread_exit
pthread_t pthread_selt(void);获取自身线程ID
int pthread_create(pthread_t* restrict tidp, const pthread_attr_t* restrict attr, void* (*start_rtn)(void*), void* restrict arg);
void pthread_exit(void* rval_ptr);
int pthread_join(pthread_t thread, void** rval_ptr);
int pthread_detach(pthread_t tid);
int pthread_attr_setdetachstate(pthread_attr_t* attr, int detachstate);修改pthread_attr_t中的detachstate线程属性,设置为PTHREAD_CREATE_DETACHED或PTHREAD_CREATE_JOINABLE