code: def put(self, target, callback = None, name = None, *args, **kargs):
          
          self.count_lock.acquire()
          if not self.shared['workers']:
              self.add(name = name)
          self.count_lock.release()
          self.queue.put_nowait((target, callback, name, args, kargs))
docs: Start task.
          @target: callable to run with *args and **kargs arguments.
          @callback: callable executed after target.