0

以下に小さなリピーターがあります。これは終了し続けます。クラッシュからより安定して実行を停止しないようにするにはどうすればよいですか。GUIにハートビートを追加して、実行が継続していることを確認します。Wxpthonでは、メニューバーが空白または白になります。

 def TimerSetup():
        import threading, time
        invl = 300

        def dothis():
            try:
                FetchUpdates()
            except Exception as e:
                pass

        class Repeat(threading.Thread):
            def run(self):
                dothis()

        if __name__ == '__main__':
            for x in range(7000):
                thread = Repeat(name = "Thread-%d" % (x + 1))
                thread.start()
                time.sleep(invl)
4

2 に答える 2

0

開始スレッドを待つにはjoin()が必要なようです

 def TimerSetup():
        import threading, time
        invl = 300

        def dothis():
            try:
                FetchUpdates()
            except Exception as e:
                pass

        class Repeat(threading.Thread):
            def run(self):
                dothis()

        if __name__ == '__main__':
            for x in range(7000):
                thread = Repeat(name = "Thread-%d" % (x + 1))
                thread.start()
                thread.join()
                time.sleep(invl)
于 2010-09-22T04:40:40.013 に答える
0

これは7000回の反復で実行されます。したがって、ランタイムが約7000 * 300秒の場合、「コード化されたとおりに機能します」:-)ただし、スレッドの数やFetchUpdatesで行うことは問題になる可能性があります。停止したときのトレースバックはありますか?ユーザー制限に達していますか?

于 2010-09-20T20:10:51.983 に答える