Две из них бесконечновыполняемые, а третья просто очень долго выполняется
При нажатии CTRL+C выполнение функций не прерывается…
Помогите пожалуйста решить проблему
Пример кода:
import os, sys, threading, time from threading import Thread class test1(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.kill_received = False def run(self): while not self.kill_received: self.do_something() def do_something(self): #avtotest(2, '') [i*i for i in range(10000)] print(1) time.sleep(1) class test2(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.kill_received = False def run(self): while not self.kill_received: self.do_something() def do_something(self): [i*i for i in range(10000)] print(2) time.sleep(1) class test3(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.kill_received = False def run(self): while not self.kill_received: self.do_something() def do_something(self): func() def func(): for i in xrange(10000): print(3) time.sleep(1) def main(args): t1 = test1() t2 = test2() t3 = test3() t1.start() t2.start() t3.start() while True: try: time.sleep(1.0) except KeyboardInterrupt: print "Ctrl-c received! Sending kill to threads..." t1.kill_received = True t2.kill_received = True t3.kill_received = True break stop=raw_input('Stop test (y/n) ?: ') if __name__=="__main__": main(sys.argv)