没有所谓的捷径
一切都是时间最平凡的累积

python自定义线程类实现线程的启动,暂停,恢复,停止

class CoreThread(threading.Thread):
    """
    线程类,控制线程的启动,暂停,恢复暂停,停止
    """

    def __init__(self):
        threading.Thread.__init__(self)
        self.flag = Event()     # 用于暂停线程的标识
        self.flag.set()       # 设置为True,self.flag.wait()立即返回,如为flase产生阻塞
        self.running = Event()      # 用于停止线程的标识
        self.running.set()      # 将running设置为True

    def pause(self):
        print("线程暂停")
        self.flag.clear()     # 设置为False, 让线程阻塞

    def resume(self):
        print("线程恢复")
        self.flag.set()    # 设置为True, 让线程停止阻塞

    def stop(self):
        print("线程停止")
        self.flag.set()       # 将线程从暂停状态恢复, 如何已经暂停的话
        self.running.clear()        # 设置为False

    def run(self):
        print("线程启动")
        while self.running.isSet():
            self.flag.wait()
            # do something...

t = CoreThread()
t.start()  # 启动
t.pause()  # 暂停
t.resume() # 恢复
t.stop()   # 停止

CoreThread继承了线程类

CoreThread.run重写了线程类run方法,用start启动

CoreThread.pause方法暂停线程

CoreThread.resume方法恢复线程

CoreThread.stop方法停止线程

赞(0) 打赏
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除,联系邮箱:lwarm@qq.com。文章观点不代表本站立场。本站原创内容未经允许不得转载,或转载时需注明出处:红岩子 » python自定义线程类实现线程的启动,暂停,恢复,停止
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

今天所做的努力都是在为明天积蓄力量

联系我们赞助我们