def threader(group=None, name=None, daemon=True):
def decorator(job):<EOL><INDENT>"""<STR_LIT>"""<EOL>def wrapped_job(queue, *args, **kwargs):<EOL><INDENT>"""<STR_LIT>"""<EOL>ret = job(*args, **kwargs)<EOL>queue.put(ret)<EOL><DEDENT>def wrap(*args, **kwargs):<EOL><INDENT>"""<STR_LIT>"""<EOL>thread = Thread(group=group, target=wrapped_job, name=name, args=args, kwargs=kwargs, daemon=daemon)<EOL>thread.start()<EOL>return thread<EOL><DEDENT>return wrap<EOL><DEDENT>return decorator<EOL>
decorator to thread functions
    :param group: reserved for future extension when a ThreadGroup class is implemented
    :param name: thread name
    :param daemon: thread behavior
    :rtype: decorator