class_docstr: Wrapper class that defines synchronous `_sync` method wrappers
  
  around async-native methods.
  
  Every coroutine method automatically gets an `_sync` alias
  that runs it synchronously.
class_docstr_tok: ["Wrapper","class","that","defines","synchronous","`","_sync","`","method","wrappers","around","async-native","methods",".","Every","coroutine","method","automatically","gets","an","`","_sync","`","alias","that","runs","it","synchronously","."]
code: def _thread_main(self):
      loop = self._thread_loop = IOLoop(make_current=False)
      loop.add_callback(self._loop_started.set)
      loop.start()
  
file_path: ipyparallel/ipyparallel/_async.py
imports: import asyncio
  import concurrent.futures
  import inspect
  import threading
  from functools import partial
  from tornado.ioloop import IOLoop
label_desc: Use image node_id 1 for calling the AsyncFirst obj's underlying member method code with example usage: obj._thread_main() without return types