线程、线程信号量等常用函数小结
来源:互联网 发布:如何做好酒店网络销售 编辑:程序博客网 时间:2024/06/05 02:19
线程:
1.pthread_create
作用:创建一个线程
原型:int pthread_create(pthread_t *thread, pthread_attr_t *attr,
(void *)(start_routine)(void *), (void *arg))
参数:thread:线程标识符
attr: 线程属性
start_routine: 线程的执行函数
arg: 传入到线程执行函数的参数
返回值:成功:0
出错:< 0
头文件:#include <pthread.h>
2.pthread_exit
作用:退出
原型:void pthread_exit(void *reval);
3.pthread_join
作用:等待线程退出
原型:int pthread_join(pthread_t th, void **thread_return);
参数: th:线程标识符
thread_return: 不为NULL,存储线程结束时的返回值
返回值:成功:0
出错:< 0
4.pthread_mutex_init
作用:初始化互斥锁
原型:int pthread_mutex(pthread_mutex_t *restrict mutex,
const pthread_mutex_attr_t *mutexattr)
参数:mutex:互斥锁
mutexattr:PTHREAD_MUTEX_INITTIALIZER快速互斥锁
返回值:成功:0
出错:< 0
6.pthread_mutex_lock
作用:对互斥锁上锁
原型:int pthread_mutex_lock(pthread_mutex_t * mutex);
返回值:成功:0
出错:-1
7. 互斥上锁相关函数
原型:int pthread_mutex_unlock(pthread_t *mutex); //解锁
原型:int pthread_mutex_trylock(pthread_t *mutex); //判断上锁
原型:int pthread_mutex_destorylock(pthread_t *mutex); //破坏锁
线程信号量:
1.sem_init
作用:创建并初始化信号量
原型:int sem_init(sem_t *sem, int pshared, unsigned int value);
参数:sem:信号量
pshared: 0
value: 信号量的初始值
返回值:成功:0
出错:-1
头文件:#include <semaphore.h>
2.PV操作,销毁信号量等
原型:int sem_wait(sem_t *sem);-----P操作
int sem_trywait(sem_t *sem)
int sem_post(sem_t *sem);-----V操作
int sem_getvalue(sem_t *sem);-----得到信号量
int sem_destory(sem_t *sem);-----销毁
参数:sem:信号量指针
返回值:成功:0
出错:-1
- 线程、线程信号量等常用函数小结
- 线程 信号量
- 线程-信号量
- 线程信号量
- linux 线程常用函数
- java线程常用函数
- linux 线程常用函数
- 进程线程常用函数
- 守护进线程,互斥锁,信号量,队列,死锁递归锁等
- 线程小结
- 线程小结
- 线程小结
- 线程小结
- 线程小结
- 线程小结
- Linux信号量线程控制
- 信号量和线程互斥锁
- JAVA 线程 同步 信号量
- 坚持#第80天~不赖床不赖床,手机闹铃远离床(是关键),坚定决心去抗争(是信念),想想背后潭州的老师们(是优秀)!
- 入手kindle看钢铁
- 浅析Java中的final关键字
- 国内老版本ubuntu更新源地址以及sources.list的配置方法
- VS2013+QT5+opencv3.1显示摄像头
- 线程、线程信号量等常用函数小结
- ubuntu下如何处理出现“ unable to execute ./DrClientLinux: No such file or directory”,“没有那个文件或目录”的问题。
- Python数据分析常用代码收集
- leetCode练习(111)
- 链表存储——小练习
- java.util.Calendar/java.util.GregorianCalendar
- POJ 3279 二进制搜索
- Android之XML解析应用
- Linux的LCD驱动