Python 线程子类:__init__ 未调用
Python Thread subcalss: __init__ not called
我目前正在尝试编写自己的 threading.Thread
的子class。但是,似乎 __init__
对 subclass 的调用不起作用,因为当我想解决自己的 class 变量与 self.x
。
这是我的代码:
class MonitoringWorker(threading.Thread):
def __int__(self, threads_hashtag: int = 1, threads_image: int = 4, threads_user: int = 1):
self.threads_hashtag = threads_hashtag
self.threads_image = threads_image
self.threads_user = threads_user
self.queue_hashtag = Queue()
self.queue_image_meta_first = Queue()
self.queue_image_meta_second = Queue()
self.queue_image_meta_third = Queue()
self.queue_user = Queue()
super().__init__()
def run(self):
workers_hashtag = [HashtagWorker(self.queue_hashtag, self.queue_image_meta_first, i) for i in range(self.threads_hashtag)]
# do stuff
if __name__ == '__main__':
m = MonitoringWorker()
m.start()
m.join()
有人可以解释这种行为吗?
你打错了 __init__
而不是 __int__
:)
我目前正在尝试编写自己的 threading.Thread
的子class。但是,似乎 __init__
对 subclass 的调用不起作用,因为当我想解决自己的 class 变量与 self.x
。
这是我的代码:
class MonitoringWorker(threading.Thread):
def __int__(self, threads_hashtag: int = 1, threads_image: int = 4, threads_user: int = 1):
self.threads_hashtag = threads_hashtag
self.threads_image = threads_image
self.threads_user = threads_user
self.queue_hashtag = Queue()
self.queue_image_meta_first = Queue()
self.queue_image_meta_second = Queue()
self.queue_image_meta_third = Queue()
self.queue_user = Queue()
super().__init__()
def run(self):
workers_hashtag = [HashtagWorker(self.queue_hashtag, self.queue_image_meta_first, i) for i in range(self.threads_hashtag)]
# do stuff
if __name__ == '__main__':
m = MonitoringWorker()
m.start()
m.join()
有人可以解释这种行为吗?
你打错了 __init__
而不是 __int__
:)