尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

NEXT 2 线程回收,分离属性,互斥,同步

NEXT 2 线程回收,分离属性,互斥,同步 作业函数指针数组:typedef void*(*PFUN)(void*); // PFUN类型名inta;PFUN th[5]={th1,th2,th3,th1,th2}; //int a[5];1. (取地址)把变量地址交给指针用于函数传址2. (二级指针)修改一级指针本身的值常用于:修改指针指向、二维数组、函数修改指针二级指针可以直接修改一级指针指向的内存内容;一级指针取地址改变指针直指。一、线程回收线程的回收机制:不同与进程没有孤儿线程和僵尸线程; 主线程结束任意生成的子线程都会结束; 子线程的结束不会影响主线程的运行。int pthread_join(pthread_t thread, void **retval);功能:通过该函数可以将指定的线程资源回收,该函数具有阻塞等待功能,如果指定的线程 没有结束则回收线程会阻塞。参数:thread要回收的子线程tidretval要回收的子线程返回值/状态。==》ptread_exit(值); retval是void**,不要返回局部变量。rerval,否则就是一个野指针了。返回值:成功0;失败-1。子线程的回收策略:1、如果预估子线程可以有限范围内结束则正常用pthreadjoin等待回收。 2、如果预估子线程可能休眠或者阻塞则等待一定时间后强制回收。3、如果子线程已知必须长时间运行则,不再回收其资源。#include stdio.h #include stdlib.h #include pthrea
返回列表