我正在用python开发自动化套件,我想到的是在一定时间后,我的自动化套件应该停止,或者换句话说自动化套件需要在规定的时间内完成它的执行。所以我的想法是启动主程序,它将创建两个线程 1. 自动化套件和 2. 定时器线程。所以只要时间过去了,我的第二个线程就会停止第一个自动化线程。以下是可能满足上述要求的示例代码,
import threading
import time
class myThread (threading.Thread):
def __init__(self, threadID, name):
threading.Thread.__init__(self)
self.threadID = threadID
self.name = name
def run(self):
print "Starting " + self.name
if self.threadID==1:
self.timeout(60)
else:
self.Automation_Suite("XYZ")
print "Exiting " + self.name
def timeout(self,delay):
while delay!=0:
time.sleep(1)
delay=delay-1
def Automation_Suite(self,name):
count=500000
while count!=0:
print name
count=count-1
# Create new threads
thread1 = myThread(1, "Thread-1")
thread2 = myThread(2, "Thread-2")
# Start new Threads
thread1.start()
thread2.start()
if not thread1.is_alive():
thread2.join()
print "Exiting Main Thread"
但是上面的代码不起作用,并且循环无限。所以请提出更好的解决方案来满足要求?
谢谢,普里扬克·沙阿