如何运用TaskParallelLibrary实现复杂任务的高效并行处理与优化?
- 内容介绍
- 文章标签
- 相关推荐
本文共计819个文字,预计阅读时间需要4分钟。
在先前的文章中,我们了解了Task的基本用法。如果有一个方法超出了Task和Task的范围,如何获取Task的返回值呢?获取返回值的过程会不会阻塞线程呢?
csharpstatic void Main(string[] args){ var result=DoWorkAsync().Result; Console.WriteLine(result);}
在前一篇中,了解了Task的基本用法
如果一个方法返回Task,Task<T>,如何获取Task的返回值,获取值的过程会阻塞线程吗?
static void Main(string[] args) { var result = DoWorkAsync().Result; Console.WriteLine(result); Console.WriteLine("我会什么时候显示"); Console.ReadKey(); } static Task<string> DoWorkAsync() { return Task<string>.Factory.StartNew(() => { Thread.Sleep(3000); return "hello"; }); }
可见,Task的Result属性可以获取返回值,而且,获取返回值的过程线程是被阻塞的。
本文共计819个文字,预计阅读时间需要4分钟。
在先前的文章中,我们了解了Task的基本用法。如果有一个方法超出了Task和Task的范围,如何获取Task的返回值呢?获取返回值的过程会不会阻塞线程呢?
csharpstatic void Main(string[] args){ var result=DoWorkAsync().Result; Console.WriteLine(result);}
在前一篇中,了解了Task的基本用法
如果一个方法返回Task,Task<T>,如何获取Task的返回值,获取值的过程会阻塞线程吗?
static void Main(string[] args) { var result = DoWorkAsync().Result; Console.WriteLine(result); Console.WriteLine("我会什么时候显示"); Console.ReadKey(); } static Task<string> DoWorkAsync() { return Task<string>.Factory.StartNew(() => { Thread.Sleep(3000); return "hello"; }); }
可见,Task的Result属性可以获取返回值,而且,获取返回值的过程线程是被阻塞的。

