博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux——多线程编程
阅读量:4615 次
发布时间:2019-06-09

本文共 1189 字,大约阅读时间需要 3 分钟。

#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);//读写

 

转载于:https://www.cnblogs.com/bingoc/p/10737544.html

你可能感兴趣的文章
HTTP请求过程
查看>>
struts2的运行流程
查看>>
JDK8下Object类源码理解
查看>>
对象之死
查看>>
Tenka1 Programmer Contest D - Crossing
查看>>
堆排序算法
查看>>
A glance at iptables in Openstack
查看>>
STM32之DMA的使用
查看>>
js正则表达式基本书写
查看>>
Activiti 项目结构(架构)
查看>>
程序员也要听歌啊 写写歌词~(毛不易)《借》《消愁》《像我这样的人》
查看>>
2010-07-14 23:46 OpenCV 2.1 两个小问题
查看>>
c++--------获取某个路径下所有文件的文件名,读写TXT文件到新的文件
查看>>
python时间处理
查看>>
Web方面的错误, 异常来自hresult:0x80070057(E_INVALIDARG)
查看>>
Ping、Traceroute工作原理
查看>>
angular 防购物车特效
查看>>
Android中的XML解析
查看>>
CentOS7安装Redis4.0
查看>>
HDU 5973 Aninteresting game 威佐夫博奕(Wythoff Game)
查看>>