如上图所示,线程函数中没有取消点(一般是一些系统调用----man 7 pthreads查看,自定义函数是无效的),则使用pthread_cancle函数不生效。
解决方法:可以添加pthread_testcancle();
通过pthread_join回收的线程已经被phread_cancel了的话,返回值是-1;
pthread_join回收的线程已经被phread_detach了的话,会报错,错误号是22;
如上图所示,线程函数中没有取消点(一般是一些系统调用----man 7 pthreads查看,自定义函数是无效的),则使用pthread_cancle函数不生效。
解决方法:可以添加pthread_testcancle();
通过pthread_join回收的线程已经被phread_cancel了的话,返回值是-1;
pthread_join回收的线程已经被phread_detach了的话,会报错,错误号是22;