- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
一般而言,实时生产者线程需要一个环形缓冲区才能获得不错的性能。
但在我的例子中,我有一些延迟限制,所以我很想摆脱 Producer 的环形缓冲区,并在它们出现时推出单独的数据缓冲区。然后我只在消费者(较慢)端使用环形缓冲区。而且我很想避免通过关键部分进行线程锁定。
由于 ZMQ 不需要线程锁定,我想知道是否可以为此使用 inproc
PubSub 模式。知道网络 I/O 在实时线程中不受欢迎,我仍然很好奇 inproc
协议(protocol)是否能带来任何不同,即更好的性能。
所以问题是:我能否使用带有 inproc
协议(protocol)的 ZMQ PubSub 在实时线程中实现低延迟无锁/无阻塞数据传输?
最佳答案
Q : Can I achieve low-latency lock-free/blocking-free data delivery in a realtime thread using ZMQ PubSub with
inproc
protocol?
是的。
足以实例化一个无线程的 Context(0)
-实例:
No I/O threads are involved in passing messages using the inproc transport. Therefore, if you are using a ØMQ context for in-process messaging only you can initialise the context with zero I/O threads
亲和性(明智地计划绑定(bind))技巧可能会进一步削减数百个[ns]
,因为可能会避免所有 R/T 处理承担从核心到核心的大量附加延迟成本-核心 NUMA-非本地内存访问。
关于c++ - 实时线程中的 ZeroMQ inproc PubSub send() 调用会导致严重阻塞吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58126624/
我们最近从使用 InProc 改为使用 StateServer 来存储 Session 信息。 我想知道,现在是否可以在不丢失 session 信息的情况下更新网站上的配置文件。当我们使用 InPro
我正在研究 Redis 和替代方案,因为我们将转向编写分布式应用程序。我的想法是,我们需要像 Redis 这样的分布式缓存来确保我们在任何地方都有一致的缓存。我的资深同事不同意并说我们应该只使用选择性
任何人都知道为什么服务器 InProc session 状态不起作用?是否有手动重置或检查方法? 谢谢 session 模式为 InProc,超时为 25 分钟。 这个时候我不确定是Session对象
我已将 Web 角色设置为使用共置缓存。问题是在开发过程中我们不想一直运行模拟器(因为它非常麻烦)。 由于 Azure session 状态提供程序的原因,正常运行我们的 Web 应用程序(未在 We
为什么在 Visual Studio 2012 中创建 ASP.NET 4.5 Web 窗体项目时,web.config 中默认包含以下内容: ... ... ..
我正在使用 asp .NET MVC 应用程序,并且我已配置 但看起来 session 仍然只有 20 分钟而不是 90 分钟有效,为什么? 我怎样才能使它有效而不是 20(我想是默认值) 我检查了
我大约一周前才注意到这一点。我正在存储有关用户正在玩的当前谜题的数据 (www.wikipediamaze.com),如下所示: HttpContext.Current.Session.Add("pu
我正在使用 asp .NET MVC 应用程序,并且我已配置 但看起来 session 仍然只有 20 分钟而不是 90 分钟有效,为什么? 我怎样才能使它有效而不是 20(我想是默认值) 我检查了
我正在为我的 mvc 应用程序使用 state service session provider,如果我不序列化我要存储在 session 中的类型,应用程序会抛出一个错误,该类必须被标记为可序列化。
我正在使用 inproc 和 PAIR 来实现线程间通信,并试图解决由于轮询引起的延迟问题。如果我错了请纠正我:轮询是不可避免的,因为普通的 recv() 调用通常会阻塞并且不能采取特定的超时。 在我
我在 VC++ 6.0 中有一个项目,其中有一个 exe 和一个 InProc COM Dll。我希望能够在 InProc COM DLL 的某处放置断点,但 VC++ 不允许我设置断点。 我有这个
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 9 年前。 Improve
我想在一个进程中将一个巨大的对象(例如 Bitmap)从一个 Activity 传递到另一个 Activity 。如果我将它作为Parcelable放入Bundle中,Android真的会序列化对象还
我最近发现,当您将页面设置为 session readonly 并且您正在使用 inproc(内存中) session 存储时,该 session 仍然可以在该页面上写入并且不是真正的只读。进程外 s
我正在阅读 ASP.NET 4 Unleashed 并且我想到了这句话。 “当 session 状态存储在进程内时,它存储在特定的 Web 服务器上。换句话说,您不能在 Web 场中使用进程内 ses
我了解什么是 InProc 变量,但它们如何使 session 更快?是因为他们的访问时间较少吗? 最佳答案 检查此主题和 adt 给出的答案。 Which one is better, InProc
我对 session 状态模式有基本的了解,我已经经历了this article在 MSDN 上,但无法理解何时使用 InProc、StateServer 和 SqlServer session 模式
我已经设置了两个小脚本来模拟 pyzmq 的发布和订阅过程。但是,我无法使用 inproc 传输将消息发送到我的订户客户端。我可以很好地使用 tcp://127.0.0.1:8080,只是没有 inp
在我的一个应用程序中,我使用 DEALER/ROUTER inproc 连接。我将 DEALER 套接字上的 linger 选项设置为 0,以便一旦 ROUTER 套接字关闭,在 DEALER 套接字
首先介绍一下背景。我目前有一个由 Windows Azure 托管的网站,具有多个实例,并且 AppFabric 作为我唯一的缓存提供程序。 一切都很顺利,直到今天早上我的流量激增。在实例过载并停止响
我是一名优秀的程序员,十分优秀!