相关疑难解决方法(0)

Threads有多不同的异步编程?

我一直在async这里阅读一些文章:http://www.asp.net/web-forms/tutorials/aspnet-45/using-asynchronous-methods-in-aspnet-45,作者说:

在进行异步工作时,并不总是使用线程.例如,当您发出异步Web服务请求时,ASP.NET将不会在异步方法调用和await之间使用任何线程.

所以我想要了解的是,async如果我们不使用任何线程进行并发执行,它会如何变成?这是什么意思"你并不总是使用线程."?

让我首先解释一下我对使用线程的了解(一个简单的例子,当然Threads可以在UI和Worker方法之外的其他情况下使用)

  1. 你有UI线程来获取输入,给出输出.
  2. 您可以在UI线程中处理事物,但它会使UI无响应.
  3. 所以我们假设我们有一个与流相关的操作,我们需要下载某种数据.
  4. 我们还允许用户在下载时执行其他操作.
  5. 我们创建一个新的工作线程,下载文件并更改进度条.
  6. 一旦完成,没有任何事情要做,所以线程被杀死.
  7. 我们从UI线程继续.

我们可以根据情况等待UI线程中的工作线程,但在下载文件之前,我们可以使用UI线程做其他事情,然后等待工作线程.

async编程不一样吗?如果没有,有什么区别?我读过async编程ThreadPool用来拉线程.

.net c# asp.net asynchronous

33
推荐指数
2
解决办法
7900
查看次数

标签 统计

.net ×1

asp.net ×1

asynchronous ×1

c# ×1