'Start a new garbage collection thread.
Creates a new zmq Context used for garbage collection.
Under most circumstances, this will only be called once per process.'

def start(self):

    if ((self.thread is not None) and (self.pid != getpid())):
        self._stop()
    self.pid = getpid()
    self.refs = {}
    self.thread = GarbageCollectorThread(self)
    self.thread.start()
    self.thread.ready.wait()
