---------------------------------------------------------------------------------------------------
exit() 将进程退出
pthread_exit() 将线程退出
return · 返回到调用者那里
---------------------------------------------------------------------------------------------------
线程的控制原语
pthread_self() 获取线程ID。其作用对应进程中 getpid() 函数
pthread_create() 创建一个新线程。其作用对应进程中的 fork() 函数
pthread_exit() 退出线程。起作用对应进程中的 exit() 函数
pthread_join() 阻塞等待线程退出,获取线程退出状态 其作用对应进程中的 waitpid() 函数
pthread_detach() 实现线程分离 作用:自动清理pcb,不需要在调用pthread_join清理
线程分离状态:指定该状态,线程主动与主控线程断开关系。线程结束后,其退出状态不由其他线程获取,而是直接自己自动释放。网络、多线程服务器常常使用。
phtread_cancel() 杀死(取消)线程,其作用对应进程中kill()函数 。当把一个线程kill后,他的退出值是-1
注意:线程的取消并不是实时的,而是有一定的延时。需要等待线程到达某个取消点(检查点)
pthread_testcancel() 自己添加取消点
取消点:是线程检查是否被取消,并按请求进行动作的一个位置。通常是一些系统调用create,open,pause,close,read,write...
pthread_equal() 比较连个线程ID是否相等
原文:https://www.cnblogs.com/zyqy/p/10790648.html