工具与软件:
您好!
我有一些代码调用 vxMapImagePatch (在从 tiovx grpah 接收的 buf 上)、将数据指针传递给 不同线程中的多个使用方、然后最终调用 vxUnmapImagePatch (在与调用 Map 的线程不同的线程中)。
在不同的线程中调用 vxUnmapImagePatch 是否合法?
每个需要 读取数据的线程是否应该调用 vxMapImagePatch/Unmap?
所有数据使用者都是严格只读的。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具与软件:
您好!
我有一些代码调用 vxMapImagePatch (在从 tiovx grpah 接收的 buf 上)、将数据指针传递给 不同线程中的多个使用方、然后最终调用 vxUnmapImagePatch (在与调用 Map 的线程不同的线程中)。
在不同的线程中调用 vxUnmapImagePatch 是否合法?
每个需要 读取数据的线程是否应该调用 vxMapImagePatch/Unmap?
所有数据使用者都是严格只读的。
您好!
在不同的线程中调用 vxUnmapImagePatch 是否合法? [报价]可以、 从另一个线程调用 vxUnmapImagePatch 是安全的。
] 需要 读取数据的每个线程是否应调用 vxMapImagePatch/Unmap?这是一个好问题。 对于一个 MapImage 调用、应该有相应的 unmap 调用、无论该调用是否在同一线程中。
在您的情况下、您有多个消费者、因此我认为您在这里的使用有一些选择。 在您的多个消费者中、一旦所有其他线程都将使用该补丁引用的数据(可能需要分析和/或信号)、您就可以指定其中一个线程来处理取消映射。 另一种方法是为每个用户复制该补丁并让它们在完成后立即取消映射、但这可能会导致内存资源的使用效率低下。
否则、TIOVX 和映像修补处理不会在内部跟踪数据使用者、因此需要在应用级别进行一些信令来确定何时可以安全地取消映射该数据。
BR、
[/quote]
-Reese