线程与异步执行.有什么不同?

Eon*_*nil 1 performance multithreading asynchronous

我相信任何类型的异步执行都会使一个线程处于不可见区域.但如果是这样,

  • 异步代码与线程代码相比不提供任何性能提升.

但我无法理解为什么这么多开发人员正在制作许多异步形式的功能.你能解释一下它们的差异和成本吗?

Rob*_*vey 6

异步执行的目的是防止调用异步方法(前台代码)的代码被阻止. 这允许您的前台代码在异步线程在后台执行您请求的工作时继续执行有用的工作.如果没有异步执行,前台代码必须等到后台任务完成才能继续执行.

异步执行的成本与线程上运行的任何其他任务的成本相同.

通常,异步结果对象与前台代码一起注册.异步结果对象可以在后台任务完成时引发事件,或者前台代码可以定期检查异步结果对象以查看是否已设置其完成标志.