c#中的异步总结
2017-01-18 14:25
155 查看
1.使用Thread
2.使用Task 据说是.NET4.0加入的
private void Form2_Load(object sender, EventArgs e)
{
//Console.WriteLine(Thread.CurrentThread.ManagedThreadId.ToString());
textBox1.Text = "1";
Task<string> task = new Task<string>(run);//可以在这里传参
task.Start();
bool b = task.IsCompleted;
Console.WriteLine(b);
var waiter=task.GetAwaiter();
waiter.OnCompleted(() => { Console.WriteLine(task.Result);}); 相当于回调了
//var r=task.Result; 会阻塞主线程
//textBox1.Text = r;
Console.WriteLine(098776554);
}
private string run()
{
Thread.Sleep(2000);
return Thread.CurrentThread.ManagedThreadId.ToString();
}
3.
2.使用Task 据说是.NET4.0加入的
private void Form2_Load(object sender, EventArgs e)
{
//Console.WriteLine(Thread.CurrentThread.ManagedThreadId.ToString());
textBox1.Text = "1";
Task<string> task = new Task<string>(run);//可以在这里传参
task.Start();
bool b = task.IsCompleted;
Console.WriteLine(b);
var waiter=task.GetAwaiter();
waiter.OnCompleted(() => { Console.WriteLine(task.Result);}); 相当于回调了
//var r=task.Result; 会阻塞主线程
//textBox1.Text = r;
Console.WriteLine(098776554);
}
private string run()
{
Thread.Sleep(2000);
return Thread.CurrentThread.ManagedThreadId.ToString();
}
3.
async/await
相关文章推荐
- C#异步调用方法总结
- C#Socket同步异步通讯总结笔记
- C#执行异步操作的几种方式比较和总结
- C#执行异步操作的几种方式比较和总结
- C#执行异步操作的几种方式比较和总结
- C#.net同步异步SOCKET通讯和多线程总结2
- 【C#复习总结】 Async 和 Await 的异步编程
- C#.net同步异步SOCKET通讯和多线程总结
- C#编程总结(六)异步编程
- C#执行异步操作的几种方式比较和总结
- C#异步调用方法总结
- C#异步调用与线程总结
- C# 异步调用与线程总结
- C#执行异步操作的几种方式总结比较
- C#Socket同步异步通讯总结笔记
- C#.net同步异步SOCKET通讯和多线程总结
- C#.net同步异步SOCKET通讯和多线程总结
- C#异步调用与线程总结
- C#执行异步操作的几种方式比较和总结
- C# 窗体加载假死,异步刷新总结