异步编程总结
-
异步编程是建立在委托基础上的一种编程方法
-
异步调用的每个方法都是独立的线程执行。因此。本质上就是一种多线程程序,也可以说是一种简化版本的多线程技术
-
比较适合在后台运行较为耗时的简单任务,并且任务要求相互独立,任务中不应该有代码直接访问可视化控件
-
如果后台任务要求必须按照特定顺序执行,或者必须访问公共资源,则异步编程不适合,而直接使用多线程技术
多线程的异步
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
int a = 0;
//多线程编程
//委托:ParameterizedThreadStart
Thread objThread1 = new Thread(() =>
{
for (int i = 0; i < 10; i++)
{
a += i;
//控件的属性:作用是用来判断当前控件所在的使用环境是创建这个控件的线程(false)还是其他线程(true)
if (label1.InvokeRequired)