1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > C# 异步多线程

C# 异步多线程

时间:2021-10-15 06:23:47

相关推荐

C# 异步多线程

多线程的概念和应用

/// <summary>/// 1.进程和线程的特点/// 2.委托启用多线程/// 3.多线程的特点:不卡主线程,速度快无秩序/// 4.异步的回调和状态参数/// 5.异步等待的三种方式/// 6.异步的返回值/// /// 进程 和线程的 是计算机概念/// 进程:运行时 占用全部计算资源的总和/// 线程:程序执行流的最小单位;任何操作都是由线程完成的;/// 线程是依托进程存在的,一个进可以包括多个线程;/// 线程也可以有自己的计算资源/// 多线程:多个执行流同事运行/// 1.CPU 太快了,分时间片--上线文切换(架子环境 -- 计算 -- 保存环境)/// 微观视角,一个核同一时刻只能执行一个线程;/// 宏观视角,多线程并发/// 2:多核(多CPU),可以独立工作/// 四核八线程 --- 核是物理核,线程是虚拟核/// /// Thread 是C# 语言对线程的封装/// /// 同步 :完成计算后,再进入下一行/// 异步 :不会等待方法的完成,会直接进入下一行/// /// 1、同步方法卡界面,主线程忙于计算/// 异步多线程方法不卡界面,主线程完了,计算任务交给子线程去做/// winform 提升用户体验;web 一个业务操作后要发邮件,异步发送邮件/// 2、同步方法慢,只有一个线程干活/// 异步多线程方法快,因为多线程并发运算;/// 便是不是线程越多越好,并非线程增长,a资源换时间 多线程也有时间管理成本/// 3.异步多线程 的应用/// 1)多个独立任务同时运行;/// 4.异步多线程无序,启动无序,结束无序,执行时间不确定/// </summary>

View Code

异步操作方式

IAsyncResult async = null; //异步操作的状态Action<string> action = this.Calc; //创建实例AsyncCallback callback = _ia =>{Console.WriteLine(_ia == async);//判断 callback 的 参数 IAsyncResult 和 委托异步操作的实例是否是一个;Result 是一个Console.WriteLine(_ia.AsyncState);//调用异步状态 “wuyc”Console.WriteLine("已经结束");};async = action.BeginInvoke("Show1_", callback, "wuyc");//异步调用action.EndInvoke(async);//使 async 异步调用 完成的时候才能继续往下执行

异步操作

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。