title: How to get values back from multithreading?
body: <pre class="lang-py prettyprint-override"><code>class Return_Thread_Value(object):
      def __init__(self,target = None,args = (),**kwargs):
          self._que = queue.Queue()
          self._t = Thread(target = lambda q,arg1,kwargs1: q.put(target(*arg1,**kwargs1)),
                           args=(self._que,args,kwargs), )
          self._t.start()
  
      def Return_Value(self):
          self._t.join()
          return self._que.get()
  
  Thread_1 = Return_Thread_Value(target = Walking_Inputs,args = (
      WINDOW,CLOCK,Hero,FRAME,INTERACTING,TOP_SCREEN,POSITION_DATA,BACKGROUND,
      FOREGROUND_OPAQUE,FOREGROUND_TRANSLUCENT,INPUT,INPUT_SHIFT,PROMPT_SHIFT,Input,
      ENTERED))
  
  INTERACTING,TOP_SCREEN,Input,ENTERED = Thread_1.Return_Value()
  
  Thread_2 = Return_Thread_Value(target = Key_Inputs,args = (
      WINDOW,ENTERED,PROMPT_SHIFT,INPUT,INPUT_SHIFT,CAPITAL,Input))
  
  ENTERED,PROMPT_SHIFT,INPUT,INPUT_SHIFT,CAPITAL,Input = Thread_2.Return_Value()
  </code></pre>
  
  <p>Trying to run two functions, one that lets you walk about the village and another that accepts key inputs, both functions are running, but I'm not sure if the values are being returned.</p>