mirror of
https://gitee.com/cosyos/cosyos.git
synced 2026-02-05 19:39:42 +08:00
@@ -270,7 +270,7 @@ FreeRTOS的零中断延迟有着很大的局限性。<br>
|
||||
### 计数信号量
|
||||
计数信号量适用于行为同步、资源管理。<br>
|
||||
行为同步,尤其适用于并发同步(生产速度大于消费速度),不会漏掉同步次数。<br>
|
||||
计数信号量也可做为二值信号量用于资源同步。但由于CosyOS已经直接提供了二值信号量,所以没必要这么做。<br>
|
||||
计数信号量也可做为二值信号量用于资源同步,但由于CosyOS已经直接提供了二值信号量,所以没必要这么做。<br>
|
||||
|
||||
### 事件标志组
|
||||
事件标志组适用于对于一类事件的行为同步。<br>
|
||||
@@ -299,7 +299,7 @@ Cortex-M内核,报警为warning: #177-D。<br>
|
||||
80251内核还另有报警DR0_、DR4_、R11_,三个未引用的参数。<br>
|
||||
|
||||
### 飞信
|
||||
* **典型特征:原子类型、数据拷贝。** <br>
|
||||
* **典型特征:极简类型、极速通信。** <br>
|
||||
* 针对不同的MCU内核,都要求数据类型必须是原子访问类型。<br>
|
||||
1、8051内核,飞信固定为1字节无符号整型(uint8_t);<br>
|
||||
2、80251内核,飞信固定为2字节无符号整型(uint16_t);<br>
|
||||
@@ -308,14 +308,12 @@ Cortex-M内核,报警为warning: #177-D。<br>
|
||||
* **注意事项** <br>
|
||||
1、飞信为0时,表示无消息;飞信非0时,表示有消息;因此,用户传输的有效消息必须为真值。<br>
|
||||
2、信箱仅能保存一条飞信,如果接收处理速度低于发送速度,会导致飞信覆盖。<br>
|
||||
3、每个信箱应该仅允许一个线程从中接收飞信。<br>
|
||||
|
||||
### 消息邮箱
|
||||
* **典型特征:任意类型、指针引用。** <br>
|
||||
* 数据类型可以是任意的,发件时仅是把邮件的指针发送至邮箱,收件时返回指针。<br>
|
||||
* **注意事项** <br>
|
||||
1、消息邮箱仅能保存一封邮件,如果收件处理速度低于发件速度,会导致邮件覆盖。<br>
|
||||
2、每个邮箱应该仅允许一个线程从中接收邮件。<br>
|
||||
|
||||
### 消息队列
|
||||
* **典型特征:并发发送、指针引用。** <br>
|
||||
@@ -326,7 +324,6 @@ Cortex-M内核,报警为warning: #177-D。<br>
|
||||
1、每个消息队列,用户应当自己明确消息的类型和size,此事与CosyOS无关。<br>
|
||||
2、每一处发送消息,消息缓存都是独享的,可静态创建(定义静态数组)或动态创建(动态内存分配)。<br>
|
||||
3、对于动态创建的消息缓存,在消息使用完以后,用户应当自己释放消息指针。<br>
|
||||
4、每个消息队列应该仅允许一个线程从中接收消息。<br>
|
||||
|
||||
## 第四章、线程同步
|
||||
|
||||
|
||||
Reference in New Issue
Block a user