В чем разница между API vxReleaseNode и vxRemoveNode в объектном узле OpenVX?
Я пытаюсь понять объектный узел Open-vx для одного из моих требований. Я прошел через спецификацию, но не смог понять точную разницу между API vxRemoveNode() и vxReleaseNode(). Спецификация говорит vxReleaseNode:
"Releases a reference to a Node object. The object may not be garbage collected until its total reference count is zero."
Я не понимаю второй пункт в приведенном выше заявлении.
Пересчет vxRemoveNode, насколько я понимаю, полностью удаляет узел из графа.
В состоянии post после вызова обоих API, В спецификациях они упоминали:
"After returning from this function the reference is zeroed"
Пожалуйста, помогите мне понять точную разницу между этими API.
1 ответ
Никогда не использовал OpenVX. Вот что я понимаю из документации:
- vx_status VX_API_CALL vxReleaseNode (узел vx_node *):
node
больше не указывает наvx_node
объект,vx_node
объект будет полностью очищен от мусора, когда больше нет переменной, ссылающейся на этот объект.node
указатель устанавливается на ноль после вызова. - vx_status VX_API_CALL vxRemoveNode (узел vx_node *): удалить
vx_node
объект из графика,node
устанавливается на ноль после вызова.