Advertisement

Python多线程(三):巧用Flag实现线程间交互及暂停与停止操作

阅读量:

Python 多线程 Thread(一):如何构造新的线程
Python 多线程 Thread(二):Thread 类的几种方法

Python 中的 Threading 类本身并未提供用于暂停或终止线程的直接控制手段。若需实现此类功能,通常的做法是在 run 方法内部插入多个标志(Flag)检查逻辑,从而达到控制线程运行状态的目的。

需要特别指出的是,通过这种方式实现的暂停或停止操作并非立即生效,其实际效果取决于线程在运行过程中是否恰好执行到标志检查的位置。若希望提升响应速度,可以在代码中适当增加标志检查的频率,以提高对线程状态变化的感知能力。

示例说明:
线程一:在启动后将依次执行 1+2+3+…+100 的累加运算,并最终输出计算结果;
线程二:负责对线程一的运行状态进行干预,包括暂停与终止操作。

复制代码
    import threading
    import time
    import keyboard
    ## self.flag 这里设置为 0,1,2 分别代表 正常,暂停,停止
    class Thread1(threading.Thread):
    def __init__(self):
        threading.Thread.__init__(self)
        self.f

全部评论 (0)

还没有任何评论哟~