当前位置: 首页 > 知识库问答 >
问题:

多通道Netty GlobalChannel TrafficShapingHandler

米嘉禧
2023-03-14

文件上说

请注意,此处理程序的管道覆盖范围为“全部”,这意味着必须仅创建一个此类处理程序并在所有通道之间共享,因为计数器必须在所有通道之间共享。

我理解必须共享此处理程序。

假设我有两组通道。我可以为每个组使用不同的GlobalChannelTrafficShapingHandler实例吗?

共有1个答案

芮宇航
2023-03-14

对如果这些组不相交,则可以(不要共享相同的通道)。您可以查看代码a,看到GlobalChannelTrafficShapingHandler有自己的非静态通道队列字段,该字段保存它添加到的管道中的所有通道。所以换句话说-GlobalChannelTrafficShapingHandler不在所有实例中持有任何共享声明(没有任何静态共享字段)。您可以自由创建几个实例。

 类似资料:
  • 前面两节里我们用到的输入和输出都是二维数组,但真实数据的维度经常更高。例如,彩色图像在高和宽2个维度外还有RGB(红、绿、蓝)3个颜色通道。假设彩色图像的高和宽分别是$h$和$w$(像素),那么它可以表示为一个$3\times h\times w$的多维数组。我们将大小为3的这一维称为通道(channel)维。本节我们将介绍含多个输入通道或多个输出通道的卷积核。 多输入通道 当输入数据含多个通道时

  • 问题内容: 注意-Go中的新手。 我编写了一个多路复用器,该多路复用器 应将 一组通道的输出合并为一个。对建设性的批评感到满意。 我正在测试: 但是我的输出很奇怪: 所以对我的问题: Mux中我在做错什么吗? 为什么我只能从输出通道中获取最后10个? 为什么喂食看起来如此奇怪?(每个输入通道的第一个,最后一个通道的所有,然后什么都没有) 有更好的方法吗? 我需要所有输入通道具有与输出通道相同的权限

  • 我需要实现一个由多个步骤组成的集成流程,每个步骤都可以由不同数量的处理器(插件)执行。 到目前为止我所拥有的: 预期的行为如下: 通过网关发送第一个请求 一切正常,但结果不是预期的,我只收到2个(随机)项目,而不是4个。 我认为问题在于聚合器仅在两个项目之后触发发布,因为“step/2”通道中的“apply sequence”覆盖了“step/1”中的“apply sequence”。所以问题是:

  • 我是新来的,想知道一些很基本的问题,我不能弄清楚。 为了发挥作用(对实际需要的抽象),我需要: 用常数固定的元素初始化字符串片断 遍历此切片并为每个元素运行一个goroutine 每个goroutine将花费一定的时间来处理元素(随机秒持续时间) 作业完成后,我希望goroutine将结果推送到一个通道 然后我需要捕获来自这个通道的所有结果(在一个从主goroutine调用的函数中),将它们附加到

  • 基本上,我有一个java程序,它使用JSch SSH库来控制两个不同的SSH连接。 我创建了一个名为SSHConnection的类,它是JSch库的包装器,并通过调用如下所示的构造函数初始化了两个副本: 但是,我发现,如果我已经打开了一个使用SHELL通道的会话,当我试图为第二个会话打开第一个通道时,我会得到一个错误,即“channel is not opened”(JSch异常)。 有没有一种方

  • 我的应用程序有多个线程将消息发布到单个RabbitMQ集群。 阅读rabbit文档:我阅读了以下内容: 对于使用多个线程/进程进行处理的应用程序,每一个线程/进程打开一个新通道,并且不在它们之间共享通道是非常常见的。 而且我明白,与其开通多个连接(昂贵) 不如开通多个通道。 但是为什么不对所有线程使用单个通道呢? 在单个通道上使用多个通道有什么好处?