title: Python 3 is_alive call showing the wrong result
body: <p>I am trying to use is_alive() to test one thread from another in Python 3.2.
  If i use <code>thread1().is_alive()</code> in <code>thread2</code> i get <code>false</code> instead of <code>true</code> whether  <code>thread1</code> is running or not.</p>
  
  <p>I get the same result if i put <code>thread1().is_alive()</code> inside <code>thread1</code> but if i put 
  <code>self.is_alive()</code> inside <code>thread1</code> it returns <code>true</code> as expected.</p>
  
  <p>It looked to me as if the command should be <code>thread1.is_alive()</code> but that says 1 argument required &amp; fails.</p>
  
  <p>I feel i am missing something simple but have been unable to find what that is.</p>
  
  <p>A pointer would be appreciated, thanks</p>
  
  <p>Ok thanks, test code looks like this:</p>
  
  <pre><code>import threading
  import time
  #
  class FirstThread(threading.Thread):
      def run (self):
          while 1:
              print ('This is the First thread')
              print(self.is_alive())
              time.sleep(1)
  FirstThread().start()
  #
  class TestThread (threading.Thread):
      def run ( self ):
          while 1:
              print ('This is the thread alive test thread')
              print(FirstThread().is_alive()) 
              time.sleep(1)
  TestThread().start()
  </code></pre>