全局变量不变

2024-04-26 12:02:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个类似这样的代码,为了你的时间简化了。基本上,我将有多个线程可以在另一个线程仍在运行时启动,我希望新进程杀死旧进程,但在下面的代码中,loop()不想死掉,我不知道为什么。还有什么更好的方法吗?你知道吗

请假设另一个程序导入此模块并执行自动化.loopwrapper(0255)和自动化.loopwrapper(0255)在第一个螺纹结束之前。你知道吗

import threading
import time

die=0
value=0

def loop(valuefrom, valueto)
    global value
    global die
    die=0
    while value<>valueto:
        if die==1:
            return value
        if value>valueto:
            value -= 1

        else:
            value += 1
            time.sleep(1)
    return value

def loopwrapper(valuefrom, valueto)
    global die
    die=1
    value=loop(valuefrom, valueto)
    return value

def loopwrapperwrapper(valuefrom,valueto)
    t = threading.Thread(target=loopwrapper, args=(valuefrom,valueto))
    t.start()

如果我错误地简化了这一点,并且代码确实有效,下面是我正在使用的实际代码。http://pastebin.com/SCR6pUwi

谢谢你的帮助。你知道吗


Tags: 代码importloopreturntime进程valuedef