**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.
template class ThreadPoolImpl<ThreadFromGlobalPool>;
std::unique_ptr<GlobalThreadPool> GlobalThreadPool::the_instance;
void GlobalThreadPool::initialize(size_t max_threads, size_t max_free_threads, size_t queue_size)
{
    if (the_instance)
    {
        throw DB::Exception(DB::ErrorCodes::LOGICAL_ERROR,
            "The global thread pool is initialized twice");
    }
    the_instance.reset(new GlobalThreadPool(max_threads, max_free_threads, queue_size, false ));
}
GlobalThreadPool & GlobalThreadPool::instance()
{
    if (!the_instance)
    {
        
        
        initialize();
    }
    return *the_instance;
}