Joh*_*ery 8 concurrent-programming topshelf
我一直在查看Topshelf代码,并注意到它正在使用名为'stact.dll'的程序集.关于此,似乎没有很多信息.它似乎是一个使用actor和'channels'构建并发应用程序的库.我发现Topshelf代码有点难以理解,但我有兴趣了解更多有关这种编程风格的信息.有没有人有这个图书馆的经验?你是怎么学习如何使用它的?
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库.目前,没有任何使用它来编写演员的好例子.我希望这有帮助.
| 归档时间: |
|
| 查看次数: |
1434 次 |
| 最近记录: |