查看: 92|回覆: 0

线程相关函数

[複製鏈接]

5

主題

0

回帖

0

積分

热心网友

金币
0
閲讀權限
220
精華
0
威望
0
贡献
0
在線時間
0 小時
註冊時間
2008-10-5
發表於 2025-5-9 09:31:00 | 顯示全部樓層 |閲讀模式

pthread_create函数

此函数可以创建一个线程

int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
                   void *(*start_routine)(void *), void *arg);
//thread:该参数指向线程标识符的指针,创建成功返回创建线程的ID
//attr:设置线程的属性,填NULL表示默认属性
//start_routine:函数指针,线程创建后要调用的函数
//arg:传递给线程函数的参数
//ret:成功返回0,失败返回一个负数

pthread_exit函数

此函数可以终止一个线程

void pthread_exit(void *retval)
//retval:可以记录线程的终止状态,可用于调用pthread_join函数

pthread_join函数

此函数可以获得终止线程的状态,并回收其资源,防止僵尸线程的存在。

int pthread_join(pthread_t thread,void **retval)
//thread:要释放资源的线程ID
//retval:如果不为NULL,则将目标线程的退出状态复制到retval指向的位置

pthread_attr_init函数

此函数可以对线程属性进行初始化

int pthread_attr_init(pthread_attr_t *attr)
//attr:线程的属性对象
//ret:成功返回0,失败返回错误码

pthread_attr_destory函数

此函数可以销毁一个线程属性对象

int pthread_attr_destory(pthread_attr_t *attr)
//attr:线程的属性对象
//ret:成功返回0,失败返回错误码

pthread_attr_setdetachstate函数

此函数可以设置线程的属性是可分离的,当线程结束后不需要pthread_join函数回收资源,系统会自动释放其资源

int pthread_attr_setdetachstate(pthread_attr_t *attr,int datachstate)
//attr:线程的属性对象
//detachstate:设置分离状态属性
//PTHREAD_CREATE_DETACHED:分离状态
//PTHREAD_CREATE_JOINABLE:可连接状态
//notice:默认是可连接状态

pthread_detach函数

此函数可以在线程的任务函数中强制把自身的属性设置为分离属性

int pthread_detach(pthread_t thread)
//thread:线程ID
//ret:成功返回0,失败返回错误码

pthread_self函数

此函数可以获取线程自身的id

pthread_t pthread_self(void)
//ret:调用成功返回线程的ID

pthread_mutex_init函数

该函数就可以对互斥量进行初始化

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;//互斥量
int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr);
//mutex:直接使用上边的宏即可
//attr:设置互斥量的属性,填NULL表示使用默认属性
//ret:成功返回0,失败返回错误码

pthread_mutex_destory函数

此函数可以销毁一个互斥量

pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;//该语句可以对互斥量进行初始化
int pthread_mutex_destory(pthread_mutex_t *mutex);
//mutex:直接使用上边的宏即可
//ret:成功返回0,失败返回错误码

pthread_mutex_lock函数

对互斥量进行上锁

int pthread_mutex_lock(pthread_mutex_t *mutex)

pthread_mutex_trylock函数

尝试对互斥量进行上锁

int pthread_mutex_trylock(pthread_mutex_t *mutex)

pthread_mutex_unlock函数

对互斥量进行解锁

int pthread_mutex_unlock(pthread_mutex_t *mutex)


来源:https://www.cnblogs.com/lradian/p/18867613
回覆

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即注册

本版積分規則

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部