gpt4 book ai didi

python threading - 将参数传递给线程的最佳方式

转载 作者:太空宇宙 更新时间:2023-11-04 03:50:41 25 4
gpt4 key购买 nike

我想知道在性能方面将共享参数传递给线程(例如输入队列)的最佳方式是什么。

我曾经将它们作为参数传递给 __init__ 函数,因为这是我在互联网上看到的大多数示例中的内容。但我想知道将它们设置为类变量是否会更快,是否有理由不这样做?

我的意思是:

class Worker(threading.Thread):
def __init__(self, in_q):
self.in_q = in_q

或:

class Worker(threading.Thread):
in_q = None
def __init__(self):
...
...
def main():
Worker.in_q = Queue.Queue()

最佳答案

类属性有时被称为“静态”是有原因的。它们是静态模型结构的一部分,并讲述了一些关于类的信息。属性告诉运行时对象的一些信息。这不适用于您的情况。

例如,在某些时候您可能希望拥有,例如两组独立的工作人员并行运行,但共享不同的队列。具有静态属性的设计将阻止您这样做。基本上,这是一个略微伪装的全局变量,具有相同的缺点(隐式耦合、封装泄漏等)。

关于python threading - 将参数传递给线程的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21429819/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com