Akka.net 如何在不等待当前消息完成的情况下停止 actor?

Akka.net how do I stop an actor without waiting for the current message to finish?

想知道我是否可以在不必等待处理当前消息的情况下停止 actor,或者直接取消它。

这里解释一下实现方法

https://petabridge.com/blog/how-to-stop-an-actor-akkadotnet/

但是他们都在等待当前消息被处理。

Stop() 演员:

stops the actor immediately after it finishes processing the current message.

杀死演员:

this throws an ActorKilledException which will be logged and handled. The actor will stop immediately after it finishes processing the current message.

给演员发毒丸:

the actor will finish processing the messages currently in its mailbox, and then Stop.

我会质疑为什么在 actors 消息接收中有一个很长的 运行 过程。更好的做法是将任何可能需要一些时间并且您希望能够取消的代码放入消息接收中的任务中。

然后 actor 将被释放并能够接受来自上面列出的停止方法之一的消息,并相应地终止任务。

此外,下一页的第 4 点显示了一些示例代码 https://petabridge.com/blog/top-7-akkadotnet-stumbling-blocks/