开始使用stact框架

时间:2011-03-30 08:12:14

标签: concurrent-programming topshelf

我一直在查看Topshelf代码,并注意到它正在使用名为“stact.dll”的程序集。关于此,似乎没有很多信息。它似乎是一个使用actor和'channels'构建并发应用程序的库。我发现Topshelf代码有点难以理解,但我有兴趣了解更多有关这种编程风格的信息。有没有人有这个图书馆的经验?你是怎么学习如何使用它的?

1 个答案:

答案 0 :(得分:6)

目前Stact目前仅在内部使用。这是我们从编写并发软件的经验中积累起来的,主要是Chris Patterson(https://github.com/phatboyg/Stact)的工作。

我能想到的最简单的例子就是Cashbox。 https://github.com/Cashbox/Cashbox/blob/v1.0/src/Cashbox/Engines/FileStorageEngine.cs

您有一个传递消息的频道。在该频道的一端,您可以设置消息订阅。第72行构建订阅,为其预期的每种消息类型设置处理程序操作。 HandleOnFiber(_fiber)强制所有消息在同一个线程上处理,并且它们在收到时排队等候。还有其他句柄调用,希望API是可发现的。

现在这个例子隐藏了一个类中的所有通道和光纤,你可能有通道连接不同的类,在这种情况下,必须传递对相关通道的引用。

Stact实际上是一个Actor库。目前,没有任何使用它来编写演员的好例子。我希望这有帮助。