线程相关函数

打印 上一主题 下一主题

主题 1776|帖子 1776|积分 5328

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
pthread_create函数

此函数可以创建一个线程
  1. int pthread_create(pthread_t *thread, const pthread_attr_t *attr,
  2.                    void *(*start_routine)(void *), void *arg);
  3. //thread:该参数指向线程标识符的指针,创建成功返回创建线程的ID
  4. //attr:设置线程的属性,填NULL表示默认属性
  5. //start_routine:函数指针,线程创建后要调用的函数
  6. //arg:传递给线程函数的参数
  7. //ret:成功返回0,失败返回一个负数
复制代码
pthread_exit函数

此函数可以终止一个线程
  1. void pthread_exit(void *retval)
  2. //retval:可以记录线程的终止状态,可用于调用pthread_join函数
复制代码
pthread_join函数

此函数可以获得终止线程的状态,并接纳其资源,防止僵尸线程的存在。
  1. int pthread_join(pthread_t thread,void **retval)
  2. //thread:要释放资源的线程ID
  3. //retval:如果不为NULL,则将目标线程的退出状态复制到retval指向的位置
复制代码
pthread_attr_init函数

此函数可以对线程属性进行初始化
  1. int pthread_attr_init(pthread_attr_t *attr)
  2. //attr:线程的属性对象
  3. //ret:成功返回0,失败返回错误码
复制代码
pthread_attr_destory函数

此函数可以烧毁一个线程属性对象
  1. int pthread_attr_destory(pthread_attr_t *attr)
  2. //attr:线程的属性对象
  3. //ret:成功返回0,失败返回错误码
复制代码
pthread_attr_setdetachstate函数

此函数可以设置线程的属性是可分离的,当线程结束后不须要pthread_join函数接纳资源,系统会自动释放其资源
  1. int pthread_attr_setdetachstate(pthread_attr_t *attr,int datachstate)
  2. //attr:线程的属性对象
  3. //detachstate:设置分离状态属性
  4. //PTHREAD_CREATE_DETACHED:分离状态
  5. //PTHREAD_CREATE_JOINABLE:可连接状态
  6. //notice:默认是可连接状态
复制代码
pthread_detach函数

此函数可以在线程的任务函数中逼迫把自身的属性设置为分离属性
  1. int pthread_detach(pthread_t thread)
  2. //thread:线程ID
  3. //ret:成功返回0,失败返回错误码
复制代码
pthread_self函数

此函数可以获取线程自身的id
  1. pthread_t pthread_self(void)
  2. //ret:调用成功返回线程的ID
复制代码
pthread_mutex_init函数

该函数就可以对互斥量进行初始化
  1. pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;//互斥量
  2. int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr);
  3. //mutex:直接使用上边的宏即可
  4. //attr:设置互斥量的属性,填NULL表示使用默认属性
  5. //ret:成功返回0,失败返回错误码
复制代码
pthread_mutex_destory函数

此函数可以烧毁一个互斥量
  1. pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;//该语句可以对互斥量进行初始化
  2. int pthread_mutex_destory(pthread_mutex_t *mutex);
  3. //mutex:直接使用上边的宏即可
  4. //ret:成功返回0,失败返回错误码
复制代码
pthread_mutex_lock函数

对互斥量进行上锁
  1. int pthread_mutex_lock(pthread_mutex_t *mutex)
复制代码
pthread_mutex_trylock函数

实验对互斥量进行上锁
  1. int pthread_mutex_trylock(pthread_mutex_t *mutex)
复制代码
pthread_mutex_unlock函数

对互斥量进行解锁
  1. int pthread_mutex_unlock(pthread_mutex_t *mutex)
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

十念

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表