假设我在.NET中使用Dataflow块。它被说明是“此数据流模型促进了基于Actor的编程”,这正是我想要实现的。
然而,如果我从一个BufferBlock<T>处理消息,并且在消息处理器中决定使用async/await,那么这将在当前线程和等待任务的工作线程中分叉执行。
有没有办法在此处防止Actor/消息处理器内的并发执行?
如果等待的任务使用本地回调进行非阻塞IO操作执行,那就没问题了。但我真的希望确保任何.NET代码都只能同步执行。
然而,如果我从一个BufferBlock<T>处理消息,并且在消息处理器中决定使用async/await,那么这将在当前线程和等待任务的工作线程中分叉执行。
有没有办法在此处防止Actor/消息处理器内的并发执行?
如果等待的任务使用本地回调进行非阻塞IO操作执行,那就没问题了。但我真的希望确保任何.NET代码都只能同步执行。