异步编程的决定因素

时间:2009-04-21 04:44:09

标签: c# .net asynchronous

可能是异步使用这些方法的决定性因素。

我能理解的一个因素是独立和并行执行,以节省时间并使用可用资源。

可能是其他因素???

非常感谢任何帮助。

6 个答案:

答案 0 :(得分:2)

在用户界面中提供响应和反馈,以保持用户满意并购买更多软件。

答案 1 :(得分:1)

提供反馈并允许取消呼叫 - 您可以随时取消呼叫。

答案 2 :(得分:0)

慢速输入,异步执行允许您在等待输入完成时进行处理(还允许您响应用户事件)。大多数网络功能都可以通过这种方式实现(通过回调等)。

答案 3 :(得分:0)

  • 允许用户在执行期间执行其他任务(或取消)
  • 允许软件在执行期间执行其他任务
    • EG。在等待网络或文件系统时使用处理器时间
    • 与需要立即响应但未发生超时的外部进程或设备通信。 (例如,网络响应,外部设备)

将两个不同的耗时任务同步绑定在一起是很好的实践,例如。网络通信和数据库访问。

另一方面,如果一切都是异步的,软件就不会变得更快。它只允许在等待其他人时使用资源。

答案 4 :(得分:0)

允许UI在长时间运行的进程中保持响应是一个很大的优点。一旦用户在应用程序标题栏中看到可怕的“无响应”,他们倾向于结束任务。我宁愿显示一个进度条以分散用户的注意力:)。

答案 5 :(得分:0)

要记住的一件事是,一旦你跳过异步编程的障碍,你可以一次完成两个的事情。

换句话说,从同步编程转向异步编程可能令人生畏。但是,一旦你在那里,你可以异步启动许多事物并提高你的程序效率。