一段时间后如何更改变量的值?

时间:2018-12-26 22:33:56

标签: python multithreading

我有下一个示例脚本:

import time
import threading

global letter
global lastTime
lastTime = 0
letter = ''

def calculatedTime(var):       
    if var == 'P':
        difTime = (int(time.time()) - lastTime) %60
    else:
        difTime = 0    
    print("The time difference is: ", difTime)
    if difTime > 5:
        i = 'C'
arr = ['P','I','A','A','I','I','P','A','A','I','I','I','I','A','A','A','A','A','A','P','I','I','P']

for letter in arr:
    if letter == 1:
        lastTime = int(time.time())
    time.sleep(6)
    th = threading.Thread(target=calculatedTime(letter))
    th.start()
    if letter == 'P':
        print("I'm alive")
    elif letter == 'C': 
        print("clear")
    else:
    print("Any message")

`

我想要的是计算字符“ P”之间的时间,如果该时间大于5秒,则将变量“字母”的值更改为“ C”。

我尝试不使用导线,返回为calculatedTime函数提供的值,但这会在下一次调用中和线程中更改它,当有大量数据时,会生成递归错误。

预先感谢您的帮助。

0 个答案:

没有答案