执行完成后隐式退出
pthread_exit (void * retval)
被其他线程用pthread_cance函数终止:
pthread_cance (pthread_t thread)
解决办法:
// 创建线程前设置 PTHREAD_CREATE_DETACHED 属性
pthread_attr_t attr
pthread_t thread
pthread_attr_init (&attr)
pthread_attr_setdetachstat(&attr, PTHREAD_CREATE_DETACHED)
pthread_create (&thread, &attr, &thread_function, NULL)
pthread_attr_destroy (&attr)
当线程为joinable时,使用pthread_join来获取线程返回值,并释放资源。
当线程为joinable时,也可在线程中调用 pthread_detach(pthread_self())
如果是在命令行,可以用ctrl+c命令结束。如果在图形界面下,可以在命令行里面输入ps -aux,然后看你的程序的id,然后输入kill -9 程序id 就可以结束掉。
如果还是不行,你可以注销,然后重新登录。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)