首页 > 解决方案 > 更改线程参数python?

问题描述

你好 python 新手有一个问题。所以我有一个函数可以查询设备的状态并等待特定的响应,然后截屏。

def waitTrig(filename):
    while(True):
        trig = my_instrument.query(':TRIGger:STATE?')
        t = unicode('TRIG\n')
        if trig == t:
            print trig
            captureScreen(filename)
            time.sleep(0.5)
            break
        else:
            time.sleep(0.5)
            pass
    return 'TRIGED'

然后我把它做成了一个线程,这样它就可以在我做其他事情的时候运行。下面的代码在另一个 py 文件中,该文件使用该函数导入 py 文件,我认为这并不重要,但无论如何。

    waitTrigThread = threading.Thread(target=tek.waitTrig ,args=['EUREKA'])
    waitTrigThread.run()

在 while 循环被破坏并截取屏幕截图并返回 false 后,我使用 isAlive() 检查。我想知道是否可以再次运行线程,但使用不同的参数(保存的屏幕截图文件名)。

我可以看到的一个可能的解决方案是让文件名成为一个变量并传递零个参数,然后在我再次运行线程之前更改变量,但这似乎不太理想,我什至不知道它是否会工作。

标签: pythonmultithreading

解决方案


再运行一次?

waitTrigThread = threading.Thread(target=tek.waitTrig ,args=['EUREKA 1'])
waitTrigThread.run()
waitTrigThread.join()

waitTrigThread = threading.Thread(target=tek.waitTrig ,args=['EUREKA 2'])
waitTrigThread.run()
waitTrigThread.join()

waitTrigThread = threading.Thread(target=tek.waitTrig ,args=['EUREKA 3'])
waitTrigThread.run()
waitTrigThread.join()

推荐阅读