【UNIX】什么是线程的同步和互斥
来源:互联网 发布:ubuntu端口流量监控 编辑:程序博客网 时间:2024/06/07 16:04
1)线程的同步指的是在一个进程中线程之间按照约定同步完成一个事件。由信号量来决定线程是该运行还是阻塞。
线程间的同步依靠P/V操作来完成,其中信号量是一个受保护的量,只能通过三种操作来访问:初始化,P操作(申请资源,此时P下面的信号量是处于等待状态,只有在V操作完成后,才会执行,所以P操作一般使用wait函数)和V操作(释放资源,只有V之前的指令执行完,才可以执行下面的指令,所以使用post函数)。
下面是同步的一般函数形式:
2)线程间的互斥是为了保护线程共享数据的完整性,当几个线程共享一条数据或者多组数据时,并改变了数据的值,可是后面的线程还需原来的值,此时我们就需要通过线程间的互斥来保证共享区数据的完整性。
这里会提到互斥锁,其主要是用来保护临界资源的,每个临界资源都由一个互斥锁来保护的,任何时刻最多只能有一个线程可以访问该资源,线程必须先获得互斥锁才可以访问临界资源,没有获得互斥锁的线程则处于等待阻塞的状态。
互斥锁的一般形式:
0 0
- 【UNIX】什么是线程的同步和互斥
- 【UNIX】通过线程的同步和互斥完成的AB循环
- Unix,进程,线程,同步,互斥,通信
- Unix,进程,线程,同步,互斥,通信
- windows的线程互斥和同步
- 线程间的同步和互斥
- 线程的同步和互斥
- Linux线程的同步和互斥
- python 线程的同步和互斥
- 线程的互斥和同步
- 线程之间的互斥和同步
- 线程之间的互斥和同步
- 线程之间的同步和互斥
- win32 线程的互斥和同步
- 线程互斥和同步
- 线程的同步互斥
- 线程基础/线程同步和互斥
- 什么是同步?什么是互斥?
- 51nod 1090 3个数和为0 & 51nod 1267 4个数和为0(标记二分)
- 【BZOJ】【P3275】【Number】【题解】【最小割】
- Python笔记(20141130)
- 分支-07. 比较大小(10)
- HDU 5125 magic balls
- 【UNIX】什么是线程的同步和互斥
- 7个示例科普CPU Cache
- Android图灵机器人的实现(一)
- Linux下Python获取IP地址的代码
- 快速排序算法
- PhotoShop算法实现--伪彩色图像处理(八)
- CentOS下用OpenSSH构建SSH服务器
- 分拆素数和
- 设计模式之策略模式