Linux
Linux
LLiinnuuxx下线程的终止操作
简介:
简介:
简简介介::
编写Linux下的多线程程序,需要使用头文件pthread.h,
编写Linux下的多线程程序,需要使用头文件pthread.h,
编编写写LLiinnuuxx下下的的多多线线程程程程序序,,需需要要使使用用头头文文件件pptthhrreeaadd..hh,,
连接时需要使用库libpthread.a。
连接时需要使用库libpthread.a。
连连接接时时需需要要使使用用库库lliibbpptthhrreeaadd..aa。。
1.程的创建:
1.程的创建:
11..程程的的创创建建::
int pthread_create(
int pthread_create(
iinnttpptthhrreeaadd__ccrreeaattee((
pthread_t *restrict tidp,
pthread_t *restrict tidp,
pptthhrreeaadd__tt**rreessttrriiccttttiiddpp,,
const pthread_attr_t *restrict attr,
const pthread_attr_t *restrict attr,
ccoonnssttpptthhrreeaadd__aattttrr__tt**rreessttrriiccttaattttrr,,
void *(*start_rtn)(void),
void *(*start_rtn)(void),
vvooiidd **((**ssttaarrtt__rrttnn))((vvooiidd)),,
void *restrict arg);
void *restrict arg);
vvooiidd **rreessttrriiccttaarrgg));;
返回值:若是成功建立线程返回0,否则返回错误的编号。
返回值:若是成功建立线程返回0,否则返回错误的编号。
返返回回值值::若若是是成成功功建建立立线线程程返返回回00,,否否则则返返回回错错误误的的编编号号。。
形式参数:pthread_t *restrict tidp 要创建的线程的线程id
形式参数:pthread_t *restrict tidp 要创建的线程的线程id
形形式式参参数数::pptthhrreeaadd__tt **rreessttrriiccttttiiddpp 要要创创建建的的线线程程的的线线程程iidd
指针。
指针。
指指针针。。
const pthread_attr_t *restrict attr 创建线程时的线程属性。
const pthread_attr_t *restrict attr 创建线程时的线程属性。
ccoonnssttpptthhrreeaadd__aattttrr__tt**rreessttrriiccttaattttrr 创创建建线线程程时时的的线线程程属属性性。。
void* (start_rtn)(void) 返回值是void类型的指针函数。
void* (start_rtn)(void) 返回值是void类型的指针函数。
vvooiidd**((ssttaarrtt__rrttnn))((vvooiidd)) 返返回回值值是是vvooiidd类类型型的的指指针针函函数数。。
void*restrict arg start_rtn的行参。
void*restrict arg start_rtn的行参。
vvooiidd**rreessttrriiccttaarrgg ssttaarrtt__rrttnn的的行行参参。。
2.终止线程
2.终止线程
22..终终止止线线程程
void pthread_exit(void *status); 本函数可用来终止调
void pthread_exit(void *status); 本函数可用来终止调
vvooiidd pptthhrreeaadd__eexxiitt((vvooiidd **ssttaattuuss));; 本本函函数数可可用用来来终终止止调调
用线程。将释放调用线程所有