linux的pthread库的基础使用

image

 该函数用来创建一个线程(linux中为轻量级进程),thread参数是tid(用于指定唯一的线程id),attr是该线程的属性,start_routine是线程函数,该函数的返回值是void *,参数是void *。是该线程执行的函数,arg是传递给该线程的参数。

image

 该函数是用来等待线程结束的,thread是tid,指定了要等待那个进程。retval用来接收要等待的线程的返回值,因为返回值为void *类型,所以为了在函数内部改变传递的值,所以参数是void**实现传址调用。

image

这个函数用于获取当前运行该函数的线程的id。

image

 

该函数是为了分离线程,thread是要分离的线程id,返回值为是否成功分离(成功返回0)。

分离线程:每一个线程被创建都是可join的,但是当该线程运行结束后,需要有人接收他的返回值,也就是该线程运行结束后需要被join,否则该线程的资源就不会被释放,产生僵尸现象(内存泄漏)。而将线程分离之后,该线程就不需要被join,也就减少了内存泄漏的风险。这种操作一般在后台程序,打印日志中经常使用。

image

 

该函数的作用是使调用该函数的线程退出,retval(return value)为返回的线程状态。

 

image

 

该函数是用来杀死指定的线程,thread是要杀死的线程id,执行成功返回0,执行失败返回错误码。

 

posted @ 2026-06-23 18:33  _牧  阅读(3)  评论(0)    收藏  举报