'Args:
startable (list): list of processes or threads which have ``start()`` method.
Can also be a single instance of process of thread.
stop_at_last (bool): whether to stop the processes or threads
after training. It will use :meth:`Process.terminate()` or
:meth:`StoppableThread.stop()`, but will do nothing on normal
`threading.Thread` or other startable objects.'

def __init__(self, startable, stop_at_last=True):

    if (not isinstance(startable, list)):
        startable = [startable]
    self._procs_threads = startable
    self._stop_at_last = stop_at_last
