Android ThreadPool.QueueUserWorkItem()在MVVMCross 3.2.1的PCL上不可用

Android ThreadPool.QueueUserWorkItem()在MVVMCross 3.2.1的PCL上不可用,android,ios,xamarin,mvvmcross,portable-class-library,Android,Ios,Xamarin,Mvvmcross,Portable Class Library,我正在创建一个MVVMcross-Xamarin应用程序,我正在尝试旋转一个线程以从一个dabate获取结果,并在它回调时更新列表。在使用Win 8和iOS之前,我已经做过类似的事情,但似乎System.Threading.ThreadPool在我使用的配置文件中不可用。(配置文件259或79不记得我使用的是哪一个,但它适用于MVVMCross 3.2.1) 我是不是忘了什么东西了,还是已经不是这样了 ThreadPool.QueueUserWorkItem的替代品是任务。运行: Task re

我正在创建一个MVVMcross-Xamarin应用程序,我正在尝试旋转一个线程以从一个dabate获取结果,并在它回调时更新列表。在使用Win 8和iOS之前,我已经做过类似的事情,但似乎System.Threading.ThreadPool在我使用的配置文件中不可用。(配置文件259或79不记得我使用的是哪一个,但它适用于MVVMCross 3.2.1)


我是不是忘了什么东西了,还是已经不是这样了

ThreadPool.QueueUserWorkItem的替代品是
任务。运行

Task result = Task.Run(() => DoStuff());
更新


请注意,
Task.Run
Task.Factory.StartNew
的行为不同。有关此主题,请参阅Stephen Toub的精彩文章。

ThreadPool.QueueUserWorkItem的替代品是
任务。运行

Task result = Task.Run(() => DoStuff());
更新


请注意,
Task.Run
Task.Factory.StartNew
的行为不同。参见Stephen Toub在这个主题上的绝妙之作。

我找到的替代方法是TaskFactory.StartNew(),这是相同的方法还是更复杂的方法?在这种情况下,我也经常使用
async
方法-例如,只调用
async
方法,而不使用
wait
。这对于主要受网络IO限制的“后台工作”很有效,但如果“后台工作”计算量更大,则不起作用。太棒了。感谢您快速而有用的响应。请注意,将方法标记为
async
不会神奇地导致工作线程上发生工作。它只允许编译器允许返回值而不是任务。实现仍然负责安排工作。我找到的替代方法是TaskFactory.StartNew(),这是相同的方法还是更复杂的方法?在这种情况下,我也经常使用
async
方法-例如,只调用
async
方法,而不使用
wait
。这对于主要受网络IO限制的“后台工作”很有效,但如果“后台工作”计算量更大,则不起作用。太棒了。感谢您快速而有用的响应。请注意,将方法标记为
async
不会神奇地导致工作线程上发生工作。它只允许编译器允许返回值而不是任务。实施部门仍然负责安排工作。