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可以为任意类型
相关推荐
单片机学习之路5 小时前
【Python】输入input函数
开发语言·python
cch89185 小时前
ThinkPHP6.x全面升级:性能与功能双飞跃
开发语言·vue.js·后端·golang
yangyanping201085 小时前
Go语言学习之Go Gin 生产级 flag 启动命令模板
开发语言·学习·golang
xyq20245 小时前
R语言处理JSON文件的方法详解
开发语言
默 语6 小时前
OpenClaw“养龙虾“热潮降温的深层解析:从技术狂欢到理性回归
android·开发语言·kotlin
平安的平安6 小时前
Python 构建AI多智能体系统:让三个 AI 协作完成复杂任务
开发语言·人工智能·python
Fcy6486 小时前
算法基础详解(4)双指针算法
开发语言·算法·双指针
golang学习记6 小时前
VS Code官宣:全面支持Rust!
开发语言·vscode·后端·rust
luj_17686 小时前
从R语言想起的,。。。
服务器·c语言·开发语言·经验分享·算法
三道渊6 小时前
C语言:二级指针及void与void*的区别
c语言·开发语言