线程间机制(同步和互斥)
来源:互联网 发布:开淘宝店好做吗 编辑:程序博客网 时间:2024/06/07 13:16
线程间机制{多线程共享同一个进程子地址空间优点: 线程间很容易进行通信1、 通过全局变量实现数据共享和交换缺点:多个线程同时访问共享对象时需要引入同步和互斥机制}线程的同步和互斥{同步{同步:指的是多任务(线程)按照约定的顺序相互配合完成一件事情同步机制基于信号量提出,信号量来决定线程是继续运行还是阻塞等待P---V操作信号量是一种受保护的变量(信号量的值是非负整数){初始化P操作(申请资源)// 信号量 - 1V操作(释放资源)// 信号量 + 1}}互斥{互斥:保证共享数据资源操作的完整性}}信号量操作(同步){#include<semaphore.h>int sem_init(sem_t *sem, int pshared, unsigned int value); //初始化sem: 初始化的信号量pshared:信号量共享的范围(0:线程间使用, 非0: 进程间使用)value: 信号量初值返回值:成功: 0出错:-1int sem_wait(sem_t *sem); // P操作(申请资源)sem:信号量返回值:成功: 0出错:-1int sem_post(sem_t *sem); // V操作(释放资源)sem: 信号量返回值:成功: 0出错:-1}线程间互斥{互斥锁主要是用来保护临界资源(任何时候最多只能有一个线程能访问该资源)#include<phtread.h>int pthread_mutex_init(pthread_mutex_t *mutex, pthread_mutexattr_t *attr); // 初始化互斥锁mutex: 互斥锁attr:互斥锁属性 // NULL表示缺省属性返回值:成功: 0出错:返回错误号int pthread_mutex_lock(pthread_mutex_t *mutex); // 申请互斥锁mutex:互斥锁返回值:成功: 0出错:-1int pthread_mutex_unlock(pthread_mutex_t *mutex); // 释放互斥锁mutex:互斥锁返回值:成功: 0出错:返回错误号}
阅读全文
0 0
- 线程间机制(同步和互斥)
- 线程同步和互斥机制的区别
- 线程间的同步和互斥
- 线程互斥和同步
- 线程的同步、互斥机制
- 线程互斥和同步(二 方式)线程
- 线程基础/线程同步和互斥
- java中的线程机制和线程的同步与互斥.
- java 线程(三) 互斥和同步
- 线程互斥和同步(一简介)
- windows的线程互斥和同步
- java线程同步和互斥
- 线程的同步和互斥
- java 线程同步互斥和生命周期
- Linux线程的同步和互斥
- python 线程的同步和互斥
- JAVA中线程互斥和同步
- 线程的互斥和同步
- Divide and Conquer -- Leetcode problem215: Kth Largest Element in an Array
- Jdk1.8覆盖了原来1.7的版本,如何还原到1.7版本?
- CSS之transition属性
- zip伪加密
- 如果同一条记录同时多个进程可能对不同的字段进行修改,怎么保证列锁?
- 线程间机制(同步和互斥)
- 【python 域名所有者识别】python 识别网站域名 所有者
- hdu1358 KMP中next数组的应用
- struts2中css,js等资源无效 非路径问题(新手问题)
- Faster RCNN的理解点
- Handler由浅入深(二)--Handler的实现原理以及Looper、Handler、Message三者之间的关系
- leetcode复习总结
- Makefile构建工程设计——工程构建与编写规则
- qr二维码遇到的一些问题