class_docstr: Multithreaded non-blocking `Resolver` implementation.
  
  Requires the `concurrent.futures` package to be installed
  (available in the standard library since Python 3.2,
  installable with ``pip install futures`` in older versions).
  
  The thread pool size can be configured with::
  
      Resolver.configure('tornado.netutil.ThreadedResolver',
                         num_threads=10)
  
  .. versionchanged:: 3.1
     All ``ThreadedResolvers`` share a single thread pool, whose
     size is set by the first one to be created.
code: def initialize(self, io_loop=None, num_threads=10):
      threadpool = ThreadedResolver._create_threadpool(num_threads)
      super(ThreadedResolver, self).initialize(
          io_loop=io_loop, executor=threadpool, close_executor=False
      )
  
imports: from __future__ import absolute_import, division, print_function
  import errno
  import os
  import sys
  import socket
  import stat
  from tornado.concurrent import dummy_executor, run_on_executor
  from tornado.ioloop import IOLoop
  from tornado.platform.auto import set_close_exec
  from tornado.util import PY3, Configurable, errno_from_exception
label_desc: Use image node_id 1 for calling the ThreadedResolver obj's underlying member method code with example usage: obj.initialize(io_loop, num_threads) without return types