从freeRtos开始的队列从开始也是互斥的,我的意思是,我应该为队列写入或读取创建某种互斥,还是已经由函数实现xQueueRead和xQueueSend。在freeRtos的队列中实现信号量
3
A
回答
1
如果您查看“queue.c”中的源代码,您会注意到xQueueGenericSend()和xQueueGenericReceive()函数正在使用tastENTER_CRITICAL()/ taskEXIT_CRITICAL()宏对来确保函数的原子操作,一种感觉,就是你所要求的互相排斥。
1
FreeRTOS队列是线程安全的,您不需要实现自己的锁定。有关队列请参见FreeRTOS documentation:
队列是主要的任务间通信形式。它们可以是 用于在任务之间以及中断和任务之间发送消息。 在大多数情况下,它们用作线程安全FIFO(先进先出) 缓冲区
相关问题
- 1. 实现一个队列的信号量
- 2. FreeRTOS中的队列
- 3. 实现信号量
- 4. 实现信号量
- 5. JavaScript中的信号量队列?
- 6. 等待队列VS信号量在linux
- 7. 在java中实现计数信号量
- 8. 在java中实现队列
- 9. 在VB6中实现队列
- 10. 在c中实现队列#
- 11. 队列实现
- 12. 信号队列和信号屏蔽
- 13. java中的队列实现
- 14. FreeRTOS留在无限循环for信号量在vListInsert函数
- 15. 实现没有信号量的锁
- 16. 如何确定unix信号队列中待处理的信号的数量(Linux)
- 17. 如何在Perl中实现信号量线程通信?
- 18. 是std ::队列有事件机制(信号在std ::队列中)
- 19. 信号量和互斥量在实现中有什么区别?
- 20. 实现队列中Zeromq
- 21. PHP队列实现
- 22. C#队列实现#
- 23. 队列实现C++
- 24. jms队列实现
- 25. 如何实现全局信号量类
- 26. 使用java实现计数信号量
- 27. 如何实现分布式信号量?
- 28. 无法理解或实现信号量
- 29. 如何优先使用循环队列在C++中实现队列实现?
- 30. VHDL - 队列中的变量与信号行为