- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多任务互斥和同步
嵌入式系统工程师
多任务互斥和同步
2
大纲
互斥和同步概述
互斥锁
信号量
33
大纲
互斥和同步概述
互斥锁
信号量
44
多任务同步与互斥
在多任务操作系统中,同时运行的多个任务可能
都需要访问/使用同一种资源
多个任务之间有依赖关系,某个任务的运行依赖于
另一个任务
同步和互斥就是用于解决这两个问题的。
55
多任务同步与互斥
互斥:
一个公共资源同一时刻只能被一个进程或线程使
用,多个进程或线程不能同时使用公共资源。POSIX标
准中进程和线程同步和互斥的方法,主要有信号量和互
斥锁两种方式。
同步:
两个或两个以上的进程或线程在运行过程中协同
步调,按预定的先后次序运行。
66
大纲
互斥和同步概述
互斥锁
信号量
77
线程同步与互斥
互斥锁 (mutex)
mutex是一种简单的加锁的方法来控制对共享资源
的访问,mutex只有两种状态,即上锁(lock)和解锁
(unlock)。
在访问该资源前,首先应申请mutex,如果
mutex处于unlock状态,则会申请到mutex并立
即lock;如果mutex处于lock状态,则默认阻塞
申请者。
unlock操作应该由lock者进行。
88
线程同步与互斥
mutex用pthread_mutex_t数据类型表示,在使用互斥
锁前,必须先对它进行初始化。
静态分配的互斥锁:
pthread_mutex_t mutex =
PTHREAD_MUTEX_INITIALIZER;
动态分配互斥锁:
pthread_mutex_t mutex;
pthread_mutex_init(mutex, NULL);
在所有使用过此互斥锁的线程都不再需要使用时
候,应调用pthread_mutex_destroy销毁互斥锁。
99
线程同步与互斥
#include pthread.h
int pthread_mutex_init(
pthread_mutex_t *mutex,
const pthread_mutexattr_t *attr);
功能:
初始化一个互斥锁。
参数:
mutex:互斥锁地址。
attr:互斥锁的属性,NULL为默认的属性。
返回值:
成功返回0,失败返回非0。
1010
线程同步与互斥
#include pthread.h
int pthread_mutex_lock(pthread_mutex_t *mutex);
功能:
对互斥锁上锁,若已经上锁,则调用者一直阻塞
到互斥锁解锁。
参数:
mutex:互斥锁地址。
返回值:
成功返回0,失败返回非0。
1111
线程同步与互斥
#inclu
您可能关注的文档
- 外国建筑史-前现代主义.pdf
- 外国建筑史-绪论.pdf
- 外国美术史_04_爱琴艺术与古希腊艺术_98820889.pdf
- 外国古代建筑史,生物1200词词表.pdf
- 外墙外保温的现状及解决方案.pdf
- 复杂金融工具投资方会计处理原则.pdf
- 外墙涂料方案1.pdf
- 夏普850,950,1100维修手册.pdf
- 外文翻译面向JAVA开发人员的SCALA指南类操作.pdf
- 复旦大学考研拉曼光谱课件.pdf
- 人教版九年级英语全一册单元速记•巧练Unit13【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit9【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit11【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit14【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit8【速记清单】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit4【单元测试·提升卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit13【单元测试·基础卷】(原卷版+解析).docx
- 人教版九年级英语全一册单元速记•巧练Unit7【速记清单】(原卷版+解析).docx
- 苏教版五年级上册数学分层作业设计 2.2 三角形的面积(附答案).docx
- 人教版九年级英语全一册单元速记•巧练Unit12【单元测试·基础卷】(原卷版+解析).docx
文档评论(0)