A cleaner task for a computer system having a plurality of tasks for
performing computing functions on objects is disclosed. References between
objects form directed graphs. The cleaner task discovers all objects and
starting points in the system. Each of the tasks in the system is adapted
to indicate to the cleaner task the identity of any handle which has been
displaced. The cleaner task defines a set of unused objects comprising
initially all objects in the system. The cleaner task traverses the
directed graphs commencing at the respective initial starting points of
the graphs and removes from the set of unused objects the handle of each
object encountered during traverse. The cleaner task then traverses all
graphs for which the starting point is any handle which has been
identified as displaced and, during traverse, removes the handle of each
object encountered during traverse from the set of unused objects.
Uma tarefa mais limpa para um sistema computatorizado que tem um plurality das tarefas para executar funções computando em objetos é divulgada. As referências entre objetos dão forma a gráficos dirigidos. A tarefa mais limpa descobre todos os objetos e pontos começar no sistema. Cada uma das tarefas no sistema é adaptada para indicar à tarefa mais limpa a identidade de todo o punho que for deslocado. A tarefa mais limpa define um jogo dos objetos não utilizados que compreendem inicialmente todos os objetos no sistema. A tarefa mais limpa atravessa os gráficos dirigidos que começam nos pontos começar iniciais respectivos dos gráficos e remove-os do jogo de objetos que não utilizados o punho de cada objeto encontrou durante a travessia. A tarefa mais limpa atravessa então todos os gráficos para que o ponto começar é todo o punho que for identificado como deslocado e, durante a travessia, remove o punho de cada objeto encontrado durante a travessia do jogo de objetos não utilizados.