gpt4 book ai didi

multithreading - ZeroMQ 和多线程

转载 作者:行者123 更新时间:2023-12-01 03:59:09 28 4
gpt4 key购买 nike

ZeroMQ Guide 有使用 ZeroMQ 进行进程内多线程(进程内传输)的好例子。但是,该示例显示了一个简单的消息负载,它是一个字符串。因此除菌和去丝的成本很小。

但是,以大型业务领域对象为例。这个域对象可以被序列化为它的 XML 表示。那么,如果为了与每个线程通信意味着必须在一个线程中对 domin 对象进行序列化,然后发送到 inproc 工作线程,进行反序列化并根据消息有效负载进行操作,那么 ZeroMQ 如何在多线程方面表现出色。序列化和反序列化的成本不会抵消消息传递的任何性能提升吗?

我理解这种结构的好处,因为将来可以跨 CPU、跨节点、跨网络等进行扩展。但是我对整个“使用 ZeroMQ 的多线程”概念感到困惑。

另一种方法是将域对象存储在缓存中,然后将标识传递给工作线程,工作线程将从缓存中获取实际的域对象。这是有意为之吗?

欢迎任何用例或最佳实践。

最佳答案

ØMQ 擅长在进程内外移动数据,但不适用于将数据编码到/从二进制表示。

Won't the cost of serilization and de-serilization negate any performance gains of message passing?



有效地通过消息传递,您已经将同步过程变成了并行过程。主要的好处不在于您可以传输消息的速度,而在于您现在正在并行工作。

关于multithreading - ZeroMQ 和多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14679945/

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