從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 - 隊列中的變量與信號行爲