Python 线程计时器从函数返回

Python 线程计时器从函数返回,python,timer,Python,Timer,代码的重要部分是前几行。我想知道怎么做 在一定时间后返回。我知道计时器会在一段时间后调用函数,但我不知道如何返回它 def rdt_rcv(conn, flag): t2 = threading.Timer(5.0, rdt_rcv, return, [0, 0, 0, 0]) t2.start() # if timeout, return #return None, None, None, None field1 = conn.recv(BUFFER_S

代码的重要部分是前几行。我想知道怎么做 在一定时间后返回。我知道计时器会在一段时间后调用函数,但我不知道如何返回它

def rdt_rcv(conn, flag):
    t2 = threading.Timer(5.0, rdt_rcv, return, [0, 0, 0, 0])
    t2.start()
    # if timeout, return
    #return None, None, None, None
    field1 = conn.recv(BUFFER_SIZE)
    field1 = int(field1)
    field2 = conn.recv(BUFFER_SIZE)
    field2 = int(field2)
    if field2 != 0:
        global ACK_received
        ACK_received = 1
    field3 = (conn.recv(BUFFER_SIZE))
    field3 = int(field3)
    field4 = (conn.recv(BUFFER_SIZE))
    field4 = int(field4)
    # stop timer
    t2.cancel()
    return field1, field2, field3, field4
改变

# stop timer
t2.cancel()
return field1, field2, field3, field4. 


这只是问题的一个特例。
if t2.is_alive():
    # stop timer
    t2.cancel()
    return field1, field2, field3, field4. 
else:
    return 0, 0, 0, 0