import threading


def new_thread(name=None):
    """Creates new thread decorator.
    
    Args:
        name (str): Thread name.
    
    Returns:
        function: New thread decorator.
    """

    def decorator(f):
        """Decorator which calls function on a new thread.
        
        Args:
            f (function): Function to run on a new thread.
        
        Returns:
            function: Wrapper function to switch the original.
        """

        def wrapper(*args, **kwargs):
            """Wrapper function for new thread decorator.
            
            Args:
                *args: Positional arguments supplied in tuple form.
                **kwargs: Keyword arguments supplied in dictionary form.
            """

            threading.Thread(name=name, target=f,
                             args=args, kwargs=kwargs).start()

        return wrapper

    return decorator