title: Is it possible to start an asyncio event loop in the background without spawning a thread or process?
body: <p>I have a service implemented in Python 3.5 that should load a file over the network periodically. I would like to avoid blocking the main thread while it loads. In order to avoid introducing the complexity of threads and shared memory to my application, I wanted to use an event loop with the asyncio package to instrument this.</p>
  
  <p>To run an event loop, I've found the <code>AbstractEventLoop.run_forever()</code> and <code>AbstractEventLoop.run_until_complete(future)</code> methods, but both seem to be blocking the main thread when called. The only way I've found to avoid this is to start the loop in a different thread. But then if I'm using threads anyway, there is no point in using an event loop.</p>
  
  <p>So my question is: Is it possible to start an asyncio event loop in the background without spawning a thread or process?</p>