Caliburn Micro 2 EventAggregator PublishOnBackgroundThread

时间:2014-06-30 08:49:27

标签: multithreading caliburn.micro eventaggregator background-thread

任何人都可以解释为什么以及何时应该使用 PublishOnBackgroundThread 而不是 PublishOnUIThread 的任何原因。

我找不到任何使用 PublishOnBackgroundThread 的用例,我不确定应该使用哪种方法?

1 个答案:

答案 0 :(得分:1)

这实际上取决于您要发布的邮件的类型。

如果您正在使用EventAggregator来显示来自低铺设服务的消息,那么PublishOnUIThread最有意义,因为您在处理消息时将更新UI。当您使用它在视图模型之间进行通信时,同样适用。

相反,有时它会用于视图模型来发布底层服务正在侦听的事件(而不是取决于该服务的视图模型)。

该服务可能会执行一些昂贵的工作,这在后台线程上是有意义的。就个人而言,我已经进入后台服务,将这项工作推到后台线程,但不同的人想要不同的选择。

最终,该方法包括在内以便完整。