嵌入式软件架构七
作者:互联网
前言: 在多线程实时系统中,一项工作的完成成往往可以通过多个线程协调的方式共同来完成,那么多个线程之间如何 “默契” 协作才能使这项工作无差错执行?
例如一项工作中的两个线程:一个线程从传感器中接收数据并且将数据写到共享内存中,同时另一个线程周期性的从共享内存中读取数据并发送去显示,下图描述了两个线程间的数据传递:
嵌入式软件架构一
嵌入式软件架构二
嵌入式软件架构三
嵌入式软件架构四
嵌入式软件架构五
嵌入式软件架构六
线程的同步方式有多种,分别为信号量、互斥量、事件集。
- 信号量(Semaphore):有时被称为信号灯,是在多线程环境下使用的一种设施,是可以用来保证两个或多个关键代码段不被并发调用。
- 互斥量: 来保证共享数据操作的完整性。每个对象都对应于一个可称为" 互斥锁" 的标记,这个标记用来保证在任一时刻,只能有一个线程访问该对象。
- 事件集: 一个线程与多个事件的关系可设置为:其中任意一个事件唤醒线程,或几个事件都到达后才唤醒线程进行后续的处理;同样,事件也可以是多个线程同步多个事件。
标签:架构,多个,互斥,嵌入式软件,线程,事件 来源: https://blog.csdn.net/weixin_41003780/article/details/123061377