2012-01-27 53 views
0

このようなスレッドを使用し続けるか、マルチプロセッシングを使用すべきですか?私はボタンを押すと切り替えるwhileループを取得しようとしています。スレッドを切り替える

スレッド:

class workingthread(threading.Thread): 
    def __init__(self): 
     threading.Thread.__init__(self) 

    def run(self): 
     while 1: 
      chat = skype.CreateChatWith(name) 
      chat.SendMessage(message) 
      t.sleep(timeou) 
は、スレッドを開始

def this(self,event): 
    t = workingthread() 
    t.start() 
+0

誰も知っていますか? – user1152873

+0

私はあなたが誰かを助けるための十分な説明を提供したとは思わない。 – Jivings

+0

投稿を編集して詳細を追加します。 – user1152873

答えて

0

あなたの質問は少し不明です。私は "私はボタン・プレスでトグルするwhileループを得ようとしています"という部分に焦点を当てようとしています。私の理解では、あなたはスレッドアクティビティを(スレッドを強制終了しないと思うアクティビティによって)常に持っていたいが、whileループボディが実行されることが時々あるだけである。最も簡単な解決策は、ブール変数を実装し、このようworkingthreadを拡張することです:

class workingthread(threading.Thread): 
    def __init__(self): 
     threading.Thread.__init__(self) 
     self.doit = True 

    def run(self): 
     while 1: 
      if doit: 
       # if the execution of both statements is desired 
       chat = skype.CreateChatWith(name) 
       chat.SendMessage(message) 
      # sleep in both cases 
      t.sleep(timeou) 

今、あなたは、ボタンイベント(使用しているものは何でもUIツールキット)を使用することにメソッドをバインドし、doitを切り替えることができますすることができます - workingthreadの変数。 doitによって、whileループ本体が実行されるかどうかが決まります。

関連する問題