姚梨素 发表于 7 天前

线程相关函数

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:调用成功返回线程的IDpthread_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)
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: 线程相关函数