2011-09-18 19 views
1

所写的,我最近读到,在WinRT中,框架取代净,可能超过50毫秒运行的时间更长的所有功能都是异步执行。所以我的问题是:将这作为一般规则应用是否合理?假设一个在需要多线程反正的很多项目......如何决定是否功能应该异步

+0

一般情况下,是的。如果你花费太多时间在阻塞UI线程的非异步代码上,那么运行时会中止你的程序。截止日期是15秒。 –

回答

0

在一个通用的应用程序,没有工作。

您没有提供链接到语句,所以我假设它仅适用于图形用户界面。在这种情况下,这可能是有道理的,因为长时间运行的函数会使应用程序无响应(对于GUI,50ms可能被认为是“长时间运行”)。

在任何其他应用程序,您将需要协调作用的结果,以确保它们相对于应用程序中的其他功能排序。要做到这一点所需的努力 - 以及它将导致的维护成本 - 并不是微不足道的。

+0

任务框架允许异步函数容易协调,以确保它们与在该事项的所有案件(即那里有一个数据依赖)对于其他功能有序 - 如果你需要等到一个异步函数执行完毕并阅读其结果,你打电话给它,并订阅延期到其返回的任务。 –