1

您能否对 MvvmCross 多线程进行更多解释?

ViewModel 对 View 的调用是安全的,因此不能有任何冲突。

但是,IMvxMessanger 有SubscribeOnThreadPoolThreadSubscribeOnMainThread(除了订阅),我不清楚何时使用它们。

另外,ViewModel 内部的多线程是怎么回事(例如,如果同时激活两个 Web 请求,并且每个请求的结果都试图访问我的数据服务(例如,将数据写入数据库))?

(或者您从经验中知道其他一些这样的特殊情况)。

谢谢!

4

1 回答 1

1

对于有关信使上订阅方法之间差异的单个技术问题,这些在接口上的 XML 注释中进行了解释(但无论如何也基本上是不言自明的)

  • 在主线程上订阅 - 消息将在主线程上接收
  • 在线程池线程上订阅 - 消息将在线程池线程上接收
  • 订阅 - 将接收消息,不应假设哪个线程

Xml 评论 - https://github.com/slodge/MvvmCross/blob/v3/Plugins/Cirrious/Messenger/Cirrious.MvvmCross.Plugins.Messenger/IMvxMessenger.cs#L15


对于剩下的问题:作为应用程序开发人员,您可以在代码中自由使用线程和异步 - 并且普通的 c# 和 .net 多线程对象可供您使用(或它们的可移植子集) - 同步访问对资源来说只是一个正常的开发决策和技术。

于 2013-06-27T06:26:20.167 回答