1. Apparatus for making stable an iterator which is created to iterate over a collection of elements that is stored in a memory, said collection being shared by a plurality of threads which add such elements and mark such elements in the collection for deletion, the apparatus comprising: a mechanism which associates a label with each element that is added to the collection after the iterator is created wherein the label indicates that the added element is not deleted and invisible to the iterator; and a mechanism for deleting one such element from the collection when the element is marked for deletion and the label for the marked element indicates that the marked element is invisible to the iterator.