title: Why doesn't the code is executing after thread start right away? Isn't it supposed to be non-blocking?
body: <p>Hi guys I don't get it why my code is getting stucked in the line where I am starting my thread. In this thread, I am willing to run these two asynchronous task but as soon as i am starting the thread as target (t3.start()), its getting block and followed up lines are not getting executed. After t3.start() line, print statement in the line is never getting executed. P.S. My Asynchronous task is working fine.</p>
  <p>'''</p>
  <pre><code>import threading 
  import os
  from time import sleep
  import asyncio
  async def asynctask1():
      print(&quot;Task 1 assigned to thread: {}&quot;.format(threading.current_thread().name))
      print(&quot;ID of process running task 1: {}&quot;.format(os.getpid()))
      while True:
          print(&quot;I am async task 1&quot;)
          await asyncio.sleep(2)
  async def asynctask2():
      print(&quot;Task 2 assigned to thread: {}&quot;.format(threading.current_thread().name))
      print(&quot;ID of process running task 2: {}&quot;.format(os.getpid()))
      while True:
          print(&quot;Hi I am async task 2&quot;)
          await asyncio.sleep(2)
  async def main ():
      asyncTask1 = asyncio.create_task(asynctask1())
      asyncTask2 = asyncio.create_task(asynctask2())
      await asyncTask1
      await asyncTask2
  print(&quot;ID of process running main program: {}&quot;.format(os.getpid()))
  print(&quot;Main thread name: {}&quot;.format(threading.current_thread().name))
  t3 = threading.Thread(target=asyncio.run(main()), name='t3')
  t3.start()
  #Here its getting stucked and following print statement is not getting executed
  print(&quot;==================Printing after thread task started============================&quot;)
  </code></pre>
  <p>'''</p>