Yuv*_*hap 1 c# asynchronous threadpool task-parallel-library async-await
我知道这段代码之间有区别:
var streamWriter = new StreamWriter("something.txt");
streamWriter.WriteAsync("text");
Run Code Online (Sandbox Code Playgroud)
和这个:
var streamWriter = new StreamWriter("something.txt");
Task.Run(()=> streamWriter.Write("text"));
Run Code Online (Sandbox Code Playgroud)
第一个更有意义。
在不同的情况下,当我等待结果时,此代码:
var streamReader = new StreamReader("something.txt")
char[] chars = new char[10];
Task<int> task = streamReader.ReadAsync(chars, 0, chars.Length);
//Do something...
int num = await task;
//Do something with num...
Run Code Online (Sandbox Code Playgroud)
比这更有意义:
var streamReader = new StreamReader("something.txt")
char[] chars = new char[10];
Task<int> task = Task.Run(()=>streamReader.Read(chars, 0, chars.Length));
//Do something...
int num = await task;
//Do something with num...
Run Code Online (Sandbox Code Playgroud)
我想使用内置的异步 API 不仅在清晰度上更好,而且它实际上ThreadPool
比让ThreadPool
线程无故等待更好、更有效地管理线程。
这样对吗?
归档时间: |
|
查看次数: |
221 次 |
最近记录: |