В чем разница между 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 устанавливается на ноль после вызова.
Другие вопросы по тегам