C#之线程

同步代码:代码质心顺序从上到下执行,如果执行的时间过长(大量计算,文件读写操作,通信)会阻塞UI界面

异步代码:先去执行同步代码,再去执行异步代码,执行的顺序不再是从上到下。

实现异步代码的方式:1 线程编译(Thread)、异步任务(Task)、后台任务(BackgroundWorder)

创建异步任务的方式

'首先创建一个方法

cs 复制代码
public void F1()
{
    Console.WriteLine("通过ThreadStrart封装异步任务,通过Thread开启线程");
}
cs 复制代码
//第一种方式
ThreadStreat str = new ThreadStrart(F1);
Tread tread = new Tread(str);
thread.Srart();
cs 复制代码
//方式2
Thread thread = new Thread(F1);
thread.Start();
cs 复制代码
//方式3 通过start(参数)分线程里面传递数据
new Thread(a=>
{
    Console.WriteLine("lambda表达式之间定义线程函数"+a);
}).Start(10);
cs 复制代码
//方法4 使用线程池来创建线程
//线程是一种多线程管理技术,用于复用 以创建的线程,避免频繁创建和销毁线程带来的性能开销,他通过预先创建一组线程,并维护一个任务队列,按需分配任务给空闲的线程执行
TreadPool.QueueUserWorkItem(a=>
{
    Consloe.WriteLine("使用线程池创建重复使用的线程对象"+a);
},10);
//参数2可以为任意类型
相关推荐
Coisinilove1 分钟前
MATLAB微分方程求解
开发语言·matlab·微分方程
鲨辣椒100867 分钟前
线程函数接口补充
java·开发语言·算法
沐知全栈开发12 分钟前
Java 枚举
开发语言
钦拆大仁14 分钟前
Java中的泛型
java·开发语言
0 0 015 分钟前
CCF-CSP 33-2 相似度计算(jaccard)【C++】考点:STL容器(set/map)
开发语言·c++·算法
Mr YiRan20 分钟前
C++高级之SLT中的容器学习与函数谓词
开发语言·c++·学习
wjs202425 分钟前
Bootstrap 下拉菜单:功能、应用与优化
开发语言
bepeater123428 分钟前
Laravel9.X核心特性全面解析
c语言·c++·c#·php
tod11334 分钟前
C++ 核心知识点全解析(七)
开发语言·c++·面试经验
njsgcs36 分钟前
py不等于python
开发语言·python