Python线程传递参数

2024-03-04

我正在尝试将一些参数传递给服务器,但我不知道如何?

这是我的代码:

HOST, PORT = socket.gethostbyname( socket.gethostname() ), 31000
self.server = SocketServer.ThreadingTCPServer( ( HOST, PORT ), MCRequestHandler )
ip, port = self.server.server_address        
self.server_thread = threading.Thread( target = self.server.serve_forever )

这是 MCRequestHandler

class MCRequestHandler( SocketServer.BaseRequestHandler ):

    global Lidars, clientsLock, postbox
    Lidars = []
    postbox = {}
    clientsLock = threading.RLock()    

    def setup( self ):
        clientsLock.acquire()

如何将一两个参数传递给 MCRequestHandler 类?


我认为ThreadingTCPServer的第二个参数是一个工厂:

  SocketServer.ThreadingTCPServer( ( HOST, PORT ), MCRequestHandler )

你能做的就是在这里拥有自己的工厂。类将构造一个可调用对象。当调用该对象时,它将使用给工厂的参数初始化 MCRequestHandler:

class MyRequestHandlerFactory(object):

  def __init__(self, param1, param2): 
            self.param1 = param1
            self.param2 = param2

  def __call__(self):
            handler = MCRequestHandler()
            handler.param1 = param1
            handler.param2 = param2

然后初始化:

  factory = MyRequestHandlerFactory("x", "y")
  SocketServer.ThreadingTCPServer( ( HOST, PORT ), factory)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python线程传递参数 的相关文章

随机推荐

  • 如何使用Fiddler监控Windows服务?

    看来 Fiddler 不会监视任何与 Fiddler 本身不在同一用户下运行的内容 我想监视运行在以下环境下的 Windows 服务Local System 这可能吗 我通过参考使它起作用有没有办法配置 Fiddler 来拦截来自 Wind
  • 转置 html 表格

    是否可以转置 html 表格 无需 javascript 我正在从对象列表生成一个带有rails 和erb 的表 因此 当每一行对应一个对象时 做到这一点非常容易和自然 但是 我需要将每个对象表示为一列 我只想有一个循环并描述每一列 而不是
  • 每当事件发生时触发 Spark 作业

    我有一个 Spark 应用程序 每当收到有关某个主题的 kafka 消息时就应该运行 我每天不会收到超过 5 6 条消息 因此我不想采用 Spark Streaming 方法 相反 我尝试使用提交申请SparkLauncher但我不喜欢这种
  • NSManagedObject 无法遵守 Swift 中的协议

    我需要 NSManagedObject 和常规 NSObject 的共享接口 在 Objective c 中 我可以使用协议来实现这一点 但在 Swift 中我遇到了这个运行时错误 有什么解决办法吗 提前致谢 protocol Produc
  • 将多列转换为一大列 (Excel 2010)

    我想将 15 096 列文本 每个单元格一个单词 转换为一个大列 包括原始列中的每个单元格 我原来的列大小各不相同 即一列可能有 4 个单元格 行 而另一列可能有 100 个单元格 行 我没有使用 VBA 的经验 但已经录制了一个宏来手动执
  • 如何将netcdf4-python安装到ubuntu14.04上?

    我想将 netcdf4 python 安装到我的 Ubuntu14 04 上 libhdf5 dev 1 8 11 5ubuntu7 amd64 deb 和 libnetcdf 4 1 3 7ubuntu2 amd64 deb 已安装 我从
  • Oracle SQL Developer - 错误:“在预期位置未找到 FROM 关键字”

    抱歉我的菜鸟问题 但我正在尝试找出为什么我的 Oracle SQL 指示错误 在预期的位置未找到 FROM 关键字 如下图 我尝试运行的代码如下 select PCKCOO AS COMPANHIA DO PEDIDO NUMERO DO
  • 从小部件启动时,活动未显示在最近的应用程序列表中

    我创建了一个应用程序小部件 单击该小部件后 会在我的应用程序中启动一个活动 它发起的活动是NOT主启动器活动 如应用程序清单中设置
  • 有人有使用 berkeley db 和 PHP 的经验吗?

    我必须访问和写入其他应用程序共享的一些伯克利数据库文件 我真的没有找到任何关于在 PHP 中使用它的信息 看起来确实不太受欢迎 有谁有任何链接或资源可供我用来让事情顺利进行吗 Thanks 这不就是dba的功能吗 http php net
  • 如何同时指定div的绝对位置和相对位置

    我是新来的 我想知道如何同时将 div 的位置指定为绝对位置和相对位置 因为 div 可以同时是子级和父级 感谢您的帮助 如果孩子处于绝对位置 任何孙子可以再次绝对定位关系中给孩子 也就是说 孩子不需要position relative为孙
  • DQL 左连接 - sql 示例

    运行良好的 SQL 是 SELECT ro id role rr id role resource re id resource FROM resource re LEFT JOIN role resource rr ON rr resou
  • Google Maps API v3:是否有 setMap() 事件的回调或事件侦听器?

    我正在开发的网站上使用 Google Maps API v3 我的地图下方有一个下拉框 允许用户在地图上显示的不同标记组之间切换 每个标记都使用显示marker setMap 我的问题是地图有时需要很长时间才能显示新标记 尤其是在 IE 中
  • 在 CloudFormation 中为 AWS Load Balancer v2 配置连接耗尽

    这篇博文 https aws amazon com blogs aws elb connection draining remove instances from service with care 这里特别 https s3 amazon
  • 以编程方式获取私有 Vimeo 视频的 URL/嵌入代码

    我们一直是 Vimeo PRO 的长期用户 我们用它来托管在多个网站上显示的视频 这些视频被设置为私有 因此无法在 Vimeo 的公共部分找到它们 到目前为止 每当我们需要显示视频时 我们要么从 Vimeo 获取嵌入代码 要么复制 直接链接
  • 我如何检查我的 sqlite 表中是否有数据?

    编辑 根据下面的答案稍微更改了代码 但仍然无法正常工作 我还添加了一条日志消息来告诉我 getCount 是否返回 gt 0 确实如此 所以我怀疑我的查询可能有问题 或者我对光标的使用 我创建了一个表 我想检查它是否为空 如果它为空 我想运
  • MongoDB:使用 $ 位置运算符进行查询

    我有一个集合 其中的条目如下所示 userid 1 contents tag whatever value 100 tag whatever2 value 110 我希望能够查询该集合并仅返回数组的一部分 与查询匹配的部分 我正在尝试使用
  • 在 WooCommerce 中最后显示缺货产品 - 不包括延期交货

    请注意我的要求与其他类似问题的区别 此代码片段可将缺货商品保留在底部 在 Woocommerce 中最后显示缺货产品 https stackoverflow com questions 25113581 show out of stock
  • 当我将其设置为详细信息时,如何将图像添加到ListView?

    当我将其设置为详细信息时 如何将图像添加到 ListView 例如 ImageList imgList new ImageList imgList Images AddStrip bitmap this listView1 StateIma
  • 使用 OpenCv 检测 PC 上网络摄像头/摄像头的数量

    我正在制作一个运行多个网络摄像头 摄像机的应用程序 我无法检测到 OpenCV 拥有的网络摄像头数量 无法安排一个包含多个子网络摄像头的大显示窗口 有人可以帮我这个吗 我搜索过 openCV willowgarage 但失败了 thanks
  • Python线程传递参数

    我正在尝试将一些参数传递给服务器 但我不知道如何 这是我的代码 HOST PORT socket gethostbyname socket gethostname 31000 self server SocketServer Threadi