static
void
Main(
string
[] args)
{
var
task = GetResultAsyc();
Console.WriteLine(String.Format(
"Main 线程:{0}"
, Thread.CurrentThread.ManagedThreadId));
for
(
int
i = 0; i < 100; i++)
{
Console.Write(
"."
);
Thread.Sleep(10);
}
Console.WriteLine();
Console.WriteLine(String.Format(
"Main 线程:{0},获取异步执行结果:{1}"
, Thread.CurrentThread.ManagedThreadId, task.Result));
Console.ReadLine();
}
private
static
async Task<
int
> GetResultAsyc()
{
Console.WriteLine(String.Format(
"线程:{0}"
, Thread.CurrentThread.ManagedThreadId));
var
result = await Task.Run(() => {
Console.WriteLine(String.Format(
"Task 线程:{0}"
, Thread.CurrentThread.ManagedThreadId));
Thread.Sleep(5000);
return
10;
});
return
result;
}