码迷,mamicode.com
首页 > 编程语言 > 详细

Linux——多线程编程

时间:2019-07-12 21:22:10      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:结束   访问   inux   val   const   join   restrict   att   sem   

#include<pthread.h>
linux 多线程编程:
  pthread_t 线程名
  pthread_create(pthread * thread, const pthread_attr_t *attr,void *(*start_routine) (void *), void *arg);) 创建线程
  pthread_exit(void *retval) 结束线程 retval存放线程退出状态
  pthread_join(pthread_t thread, void** retval) 等待线程
  //再就是 信号量semaphore 和 互斥锁mutex_lock


pthread_create(&keyThr, NULL, keyThrFxn, "Key ")其中keyThrFxn 为线程函数


  互斥锁:保护同一线程的资源同一时刻只能单一线程访问
      初始化:静态初始化 pthread_mutex_t MUTEX=PTHREAD_MUTEX_INITIALIZER 互斥锁名
          动态初始化 int pthread_mutex_init (pthread_mutex_t *__mutex,__const pthread_mutexattr_t *__mutexattr);
      pthread_mutex_lock(pthread_mutex_t *__mutex);加锁 //加锁成功返回0,失败返回错误编号
      pthread_mutex_unlock(pthread_mutex_t *__mutex);解锁
      pthread_mutex_destroy(pthread_mutex_t *__mutex);销毁

  读写锁:int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,__const pthread_rwlockattr_t *__restrict__attr);
      int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock);
      int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock);//读加锁
      int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock);//写加锁
      int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock);//读写

 

Linux——多线程编程

标签:结束   访问   inux   val   const   join   restrict   att   sem   

原文地址:https://www.cnblogs.com/bingoc/p/10737544.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!