【发布时间】:2018-11-27 11:20:07
【问题描述】:
有两种方式可以实现队列行为:
按副本排队 复制队列意味着发送到队列的数据被逐字节复制到队列中。 排队。
按引用排队 引用队列意味着队列只保存指向发送到队列的数据的指针。 队列,而不是数据本身。
我想问如果通过复制排队包含指针的结构将创建一个副本或直接访问指向的内存。 谢谢。
【问题讨论】:
-
是你自己的实现还是来自某个库的队列?
-
不确定“通过复制包含指针的结构进行排队将创建副本或直接访问指向的内存”是什么意思
-
这是freertos api中的队列
-
如果它是一个通用队列实现,我猜它的“复制”功能只适用于一层深度。
-
我的意思是,如果您有 2 个任务并在第一个任务中使用 xQueueSend(),在第二个任务中使用 xQueueReceive(),然后尝试取消引用第二个任务中的指针并更改数据会影响第一个任务中的数据??