**Describe the issue**
We observe many obsolete names of idle threads like `Formatter`.

**Solution**
Reset thread name after a job is done in thread pool.
std::exception_ptr exception;
                std::swap(exception, first_exception);
                std::rethrow_exception(exception);
            }
            throw DB::Exception(DB::ErrorCodes::CANNOT_SCHEDULE_TASK,
                "Cannot schedule a task: {} (threads={}, jobs={})", reason,
                threads.size(), scheduled_jobs);
        }
        else
            return false;
    };
    {
        std::unique_lock lock(mutex);
        auto pred = [this] { return !queue_size || scheduled_jobs < queue_size || shutdown; };
        if (wait_microseconds)  
        {
            if (!job_finished.wait_for(lock, std::chrono::microseconds(*wait_microseconds), pred))
                return on_error(fmt::format("no free thread (timeout={})", *wait_microseconds));
        }
        else
            job_finished.wait(lock, pred);
        if (shutdown)
            return on_error("shutdown");
        
        
        
        if (threads.size() < std::min(max_threads, scheduled_jobs + 1))
        {
            try
            {