title: Stopping a python thread running an Infinite Loop
body: <p>I am new to python programming. I am trying to make a GUI with stoppable threads. 
  I borrowed some code from 
  <a href="https://stackoverflow.com/a/325528">https://stackoverflow.com/a/325528</a></p>
  
  <pre><code>class MyThread(threading.Thread):
      """Thread class with a stop() method. The thread itself has to check
      regularly for the stopped() condition."""
  
      def __init__(self, *args, **kwargs):
          super(MyThread, self).__init__(*args, **kwargs)
          self._stop = threading.Event()
  
      def stop(self):
          self._stop.set()
  
      def stopped(self):
          return self._stop.isSet()
  </code></pre>
  
  <p>I have function which creates a thread for another function in another class that runs an infinite loop. </p>
  
  <pre><code>class MyClass :
  
      def clicked_practice(self):
  
          self.practicethread = MyThread(target=self.infinite_loop_method)
          self.practicethread.start()
  
      def infinite_loop_method()
          while True :
              // Do something
  
  
      #This doesn't seem to work and I am still stuck in the loop
  
      def infinite_stop(self)
          if self.practicethread.isAlive():
          self.practicethread.stop()
  </code></pre>
  
  <p>I want to create a method to stop this thread .
  What's happening here?</p>