为了账号安全,请及时绑定邮箱和手机立即绑定

python检查在不同类中启动的线程

python检查在不同类中启动的线程

富国沪深 2022-06-07 16:44:04
我很好奇如何获取已在 python 中的单独类中启动的线程的状态。所以目前我有:class VideoCapture:     def record:         Thread(name='uploading', target=self.upload, args=(upload_queue)).start()在一个单独的文件main.py中,我有一个VideoCapture. 我希望能够通过键入类似VideoCapture.uploading.isAlive(). 但是我收到 VideoCapture 没有上传对象的错误。那么我怎样才能访问它呢?
查看完整描述

2 回答

?
繁华开满天机

TA贡献1816条经验 获得超4个赞

将线程存储为类的一部分,然后您可以稍后访问它。


class VideoCapture:

    def __init__():

        self.uploading = None

    def record:

       self.uploading = Thread(name='uploading', target=self.upload, args=(upload_queue)).start()

现在在其他地方你有:


video_capture = VideoCapture()

video_capture.record()

if video_capture.uploading.isAlive(): 

    # do something


查看完整回答
反对 回复 2022-06-07
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

对象中有方法is_alive(),Thread所以基本上你只需要使用它:


class VideoCapture:

    def record(self):

        # don't forget to add it on __init__

        self.uploading = Thread(name='uploading', target=self.upload, args=(upload_queue)).start()


tmp = VideoCapture()

tmp.record()

tmp.uploading.is_alive()  # here it is


查看完整回答
反对 回复 2022-06-07
  • 2 回答
  • 0 关注
  • 105 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信