猿问

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

我很好奇如何获取已在 python 中的单独类中启动的线程的状态。

所以目前我有:

class VideoCapture:
    def record:
        Thread(name='uploading', target=self.upload, args=(upload_queue)).start()

在一个单独的文件main.py中,我有一个VideoCapture. 我希望能够通过键入类似VideoCapture.uploading.isAlive(). 但是我收到 VideoCapture 没有上传对象的错误。那么我怎样才能访问它呢?


富国沪深
浏览 106回答 2
2回答

繁华开满天机

将线程存储为类的一部分,然后您可以稍后访问它。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

牛魔王的故事

对象中有方法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
随时随地看视频慕课网APP

相关分类

Python
我要回答