2012-01-27 5 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 для переключения с помощью нажатия кнопки». Насколько я понимаю, вы хотите постоянно работать с потоком (по активности, я думаю, не убиваю поток), но вы хотите, чтобы время от времени выполнялось только тело цикла. Самое простое решение заключается в реализации логическую переменную и простирающуюся 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.

Смежные вопросы