【发布时间】:2013-01-02 09:46:23
【问题描述】:
经过几天的谷歌搜索,我想我无法决定哪一个适用于什么场景。当然,我想使用一个结合了两者的完美框架(当然不切实际)。我什至知道可以一起使用它们。但真正的问题是,每一个中的核心设计元素是什么,使得它们无法相互模仿。 这些是我找到的:
- 在 RX 中存在虚拟时间,因此调度程序有效地控制整个网络,但这在 TDF 中是不可能的,因为每个 块使用不同的任务,它们独立运行
- 在 TDF 中,块可以重试接收消息/重新发送和类似的东西,但在 RX 中这是不可能的。
- 在 rx 中数据流是序列化的,但在 TDF 中这是可选的
最好有一些不是列表的理解,而是试图从一个共同的抽象类/类别中派生出的东西,只讨论结构上的差异。
【问题讨论】:
-
仅供参考,TPF 和 RX 是互补的,而不是矛盾的。他们天生就可以相互合作,而且做得很好。
-
我认为最重要的区别是 TDF 使用相互通信的独立块对计算进行建模。 Rx 专注于蒸汽和操纵它们。
-
@casperOne:我从来没有说过它们是矛盾的。你能提出一种建设性的问题吗?我认为我的观点仍然有效。为什么不回答这个问题而不是关闭它?
-
@casperOne:不,我不是要一个列表,实际上恰恰相反:“......一些不是列表的理解,而是试图从一个共同的抽象类/类别仅谈论结构差异。” (英语不是我的母语,所以也许我没有清楚地表达自己,但重点是我想要一个结构化的答案而不是列表)
-
@casperOne:那么你会如何正确地问这个问题呢?我一一理解,但我无法形成适用于两者的元概念。
标签: .net task-parallel-library system.reactive tpl-dataflow