using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace TaskSample
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("我是主线程,线程ID:" + Thread.CurrentThread.ManagedThreadId);
//task用法一
Task task1 = new Task(() => MyAction());
task1.Start();
//task用法二
var strRes = Task.Run<string>(() => { return GetReturnStr(); });
Console.WriteLine(strRes.Result);
//task->async异步方法和await,主线程碰到await时会立即返回,继续以非阻塞形式执行主线程下面的逻辑
Console.WriteLine("---------------------------------");
Console.WriteLine("①我是主线程,线程ID:{0}", Thread.CurrentThread.ManagedThreadId);
var testResult = TestAsync();
Console.ReadKey();
}
static async Task TestAsync()
{
Consol