问题标签 [ccr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
multithreading - 异步 F# 与 CCR 框架
在阅读了关于 CCR 的内容后:http: //www.infoq.com/news/2008/12/CCR 我得到的印象是它与 F# 异步块几乎完全相同?
您产生 port.Receive 和 port.Test 以执行与“let!”相同的操作。
它是否正确?CCR 中是否有任何 F# async 没有的好处?
robotics - 如何在机器人之外使用 CCR、DSS、VPL(又名 Microsoft Robotics Development Studio)?
如何在机器人之外使用 CCR、DSS、VPL(又名 Microsoft Robotics Development Studio)?
我正在寻找该领域的指导。我已经尝试了所有的例子,发现这个框架很有趣。
任何人都可以发布机器人以外的其他用途和示例吗?
PS。我正在找人向我解释一些更复杂的东西。我对不同的实现有疑问。如果有人感兴趣,我愿意为高级主题的一对一谈话(咨询)付费。您可以通过电子邮件与我联系,与此处同名。
ccr - 加入 CCR 中的 PortSet
我有 4 个服务,每个服务都有一个带有如下签名的方法:
我需要同时运行它们,并分别加入来自每个端口的最终结果、处理结果和异常。你能建议我怎么做吗?
我只能找到加入 Port 而非 PortSet 的结果的可能性。
谢谢
ado.net - 微软机器人和 Sql
我在使用 SQL 实现 CCR 时遇到问题。似乎当我逐步执行我的代码时,我试图执行的更新和插入效果很好。但是当我在没有任何断点的情况下通过我的界面运行时,它似乎正在工作,它显示了插入、更新,但在运行结束时,数据库中没有任何更新。
每次我从池中拉出一个新线程并且它可以工作时,我都会在我的代码中添加一个暂停......但这违背了异步编码的目的,对吗?我希望我的界面更快,而不是放慢速度......
任何建议......这是我的代码的一部分:
我使用两个帮助类来设置我的端口并得到响应......
然后我做这样的事情来排队我的电话......
其中 ApmToCcrAdapters 是我的辅助方法所在的类名...
问题是当我在调用 Arbiter.Activate 后立即暂停我的代码并检查我的数据库时,一切看起来都很好......如果我摆脱暂停广告运行我的代码,数据库没有任何反应,也没有例外要么被扔...
assembly - 汇编语言ccr麻烦学习汇编
他给出了这些问题。13 显然是样本集中最大的一条数据。在 D0 中存储了 13 之后,当另一个数字与之比较时,CCR 的状态是什么(只需给出 5 位并指示哪些位被触发)。湾。将最后一条数据 (0) 移入 D1 寄存器后,CCR 的状态是什么。
我编译了它,但我在easy68k中看不到5位。我知道 ccr 是由标志位组成的,但我不知道该怎么做。
c# - 全内存屏障和 ExclusiveReceiverGroup
使用以下代码:
我是否需要围绕 totalSum += computeResult.Result 生成一个完整的内存屏障?ExclusiveReceiverGroup的Receiver注册中的handler会被线程池调用,因为dispatcherQueue不使用Dispatcher。我读过线程池为它调用的回调生成了一个内存屏障,但这是否只是保证回调引用本身的新鲜度?
ExclusiveReceiverGroup 不会与任何其他代码同时运行,因此通过computationResult.Result 递增totalSum 不必是原子的。我知道 Interlocked.Add 隐式生成一个完整的栅栏,但我只是想看看我是否可以不使用它而逃脱。
这是一个理论问题。我实际上没有像上面的示例代码那样的任何代码,也没有此类代码的任何用例。所以,我想避免“使用 Interlocked.Add 以防万一”的答案。这更像是一个“让我们学习新东西”的问题。
c# - 使用 CCR 按顺序处理事件的有效方法是什么?
我正在尝试使用 CCR 迭代器作为解决需要并行处理大量数据馈送的任务的解决方案,其中来自每个馈送的数据需要按顺序处理。没有一个提要相互依赖,因此可以按每个提要并行处理有序处理。
下面是一个带有一个整数馈送的快速而肮脏的模型,它只是以大约 1.5K/秒的速率将整数推入端口,然后使用 CCR 迭代器将它们拉出以保持按顺序处理的保证。
令我非常惊讶的是,CCR 无法跟上 Corei7 机器,队列大小无限增长。在另一项测试中,在负载或 ~100 Post/sec. 下测量从 Post() 到 Receive() 的延迟,每批中第一个 Post() 和 Receive() 之间的延迟约为 1ms。
我的模型有问题吗?如果是这样,使用 CCR 执行此操作的更好方法是什么?
f# - 在 F# 中实现 CCR 交错仲裁器
我想在 F# 中实现 CCR 框架端口的概念(因为 .Net 4.0 不正式支持 CCR)。我知道可以使用 F# 中的MailboxProcessor类来执行此操作。这对于简单的接收仲裁器非常有效,但我需要交错仲裁器的概念,即我想控制哪些消息是专门处理的,哪些是同时处理的。到目前为止,我不知道在 F# 中实现这一点,我将感谢您的帮助。
xml - 在 .xsl 中,取“130-210”之类的范围值,并确定“86”或“458”是否在该数字范围内
我正在解析一个 .xml 文件,例如:
在 .xls 样式表中,我需要显示一个值,指示该值是在 normalRange 内、在其下方还是在其上方。
在显示来自 CCR(医疗保健 HL7 消息传递中的护理记录连续性)xml 文档的人类可读结果时,这是一个非常常见的问题。
f# - F#邮箱与邮箱处理器
我注意到 Mailbox 类型是封装的,只能通过使用 MailboxProcessor 来使用。
这意味着要拥有一个可以向其发布消息的代理,我不得不拥有一个单一类型的邮箱(或以一种奇特的方式使用现有的 MailboxProcessor)。
我是否应该理解为单个工作流程设置多个邮箱会固有地导致糟糕的设计?Ccr 显然为您提供了那种程度的自由。
编辑:正如丹尼尔所指出的,如果一个人想发送多种消息类型,DUs 可以优雅地解决这个问题——而且我过去并不是没有这样做过。
但问题是,这样做不是代码味道吗?随着时间的推移,向代理添加更多类型的消息不会导致您承担太多责任吗?我有时认为始终将代理使用的消息类型封装在接口后面以使这些信息永远不会暴露是很重要的。