title: Python: Threads stopping without any reason
body: <p>I am trying to make a hash breaking application that will check all the lines of one 
  file with all the lines in the rockyou dictionary. While with pre-hashing the rock you 
  i got the time of checking one hash down to a few seconds its still not enough. This is 
  why i am moving my program to multithreading. But my threads stop without rising any exceptions. </p>
  
  <pre><code>import threading
  import datetime
  
  class ThreadClass(threading.Thread):
      hash_list=0
      def file_len(fname):
          with open(fname) as f:
              for i, l in enumerate(f):
                  pass
          return i + 1
      list_len=file_len("list.txt")
  
      def run(self):
          while ThreadClass.list_len&gt;0:
              ThreadClass.list_len=ThreadClass.list_len-1
              print str(threading.current_thread())+":"+str(ThreadClass.list_len)
  for i in range(20):
      try:
          t = ThreadClass()
          t.start()
      except:
          raise
  </code></pre>
  
  <p>Here is output:
  <img src="https://i.stack.imgur.com/WJrxN.png" alt="Afther that there is only one thread printing">
  When i run it after some time there is only one thread reporting. Why?
  Thanks for all help</p>
  
  <p>EDIT: One of the threads rises a key error.I dont know what that is</p>