Python Thread不能正确处理GTK微调器

时间:2017-08-31 06:04:20

标签: python multithreading gtk pygtk python-multithreading

我的PYGTK桌面应用程序中有2个简单的线程。 Thread1 - 启动微调器以显示重载过程中正在进行的工作Thread2 - 一个繁重的过程

我先启动Thread1,然后先完全执行,但spinner不启动。当我的Thread2结束时,Spinner启动。我不明白为什么旋转器在重载过程之前没有启动。

代码是这样的......

def StartSpinner(self):
  spinner.start()
  print('Thread1 complete')

def HeavyProcess(self):
  Statement1
  Statement4
  Statement3
  Statement4
  print('Thread2 complete')


if __name__ == '__main__':

        t1=threading.Thread(target=self.StartSpinner)
        t2=threading.Thread(target=self.HeavyProcess)

        t1.start()
        t1.join()

        t2.start()
        t2.join()

Output : 
Thread1 complete
Thread2 complete

输出正确但Gtk Spinner在重工序结束后正在启动。无论给出什么序列的线程,Spinner只在完成Thread2的执行后才会启动。

0 个答案:

没有答案