重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
杀死线程 所在的进程就可以,
在公主岭等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、网站制作 网站设计制作定制网站设计,公司网站建设,企业网站建设,高端网站设计,成都营销网站建设,外贸网站建设,公主岭网站建设费用合理。
ps aux | grep 进程名
kill -TERM 进程号
如果你指的写程序, 那就参考 man pthread_exit
杀死线程 所在的进程就可以,
ps aux | grep 进程名
kill -TERM 进程号
如果你指的写程序, 那就参考 man pthread_exit
多线程程序中,特别是频繁申请,释放线程的情况下,就要注意线程的关闭,最好使用线程池。
一,线程退出方式
(1) 执行完成后隐式退出;
(2) 由线程本身显示调用pthread_exit 函数退出;
pthread_exit (void * retval) ;
(3) 被其他线程用pthread_cance函数终止:
pthread_cance (pthread_t thread) ;
二,线程状态
pthread 线程有两种状态,joinable(非分离)状态和detachable(分离)状态,默认为joinable。
joinable:当线程函数自己返回退出或pthread_exit时都不会释放线程所用资源,包括栈,线程描述符等(有人说有8k多,未经验证)。
detachable:线程结束时会自动释放资源。
joinable 线程执行完后不使用pthread_join的话就会造成内存泄漏。
解决办法:
1、创建线程前设置 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);
2、当线程为joinable时,使用pthread_join来获取线程返回值,并释放资源。
3、当线程为joinable时,也可在线程中调用 pthread_detach(pthread_self());来分离自己。