我编写了一个监视两个参数的简单线程类。当我命令两个线程启动命令时,我没有收到任何错误,但是,对我的第二个线程的调用似乎没有执行。这是我的班级:
import threading
import time
from SHFramework import SH
class CLSThread():
def __init__(self):
self.tsh = SH()
self.tsh.StartServer()
self.GetStatusThread1 = threading.Thread(target=self.GetTemperature())
self.GetStatusThread2 = threading.Thread(target=self.GetX())
def GetTemperature(self):
while True:
temp_val = self.tsh.GetValue("Temperature")
print("value from {}:".format("Temperature")
print str(temp_val)
def GetX(self):
while True:
x_val = self.tsh.GetValue("X")
print("value from {}:".format("X")
print str(x_val)
clst1 = CLSThread()
clst1.GetStatusThread1.start()
clst2.GetStatusThread2.start()
当我命令'clst1.GetStatusThread1.start()'
时,它打印出来自GetTemperature
的结果就好了。但是,我无法判断它是否曾命令GetX
,因为它从未打印出该方法的结果。虽然,当我从两种方法中删除while True:
语句并且只留下后面的行时,它会打印出两种方法的结果(clst1.GetStatusThread1.start()
,clst2.GetStatusThread2.start()
)。 / p>