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可以为任意类型
相关推荐
enmouhuadou14 分钟前
快速运行matlab仿真方法
开发语言·matlab
m0_7066532325 分钟前
使用C-Free进行浮点变量的四则运算指南
c语言·开发语言
流水迢迢lst2 小时前
靶场练习day15--php反序列化
开发语言·php
fengci.3 小时前
ctfshow(web入门)279-286
java·开发语言·学习
TON_G-T3 小时前
javascript中 Iframe 处理多端通信、鉴权
开发语言·前端·javascript
周淳APP3 小时前
【JS之闭包防抖节流,this指向,原型&原型链,数据类型,深浅拷贝】简单梳理啦!
开发语言·前端·javascript·ecmascript
ok_hahaha3 小时前
java从头开始-苍穹外卖day05-Redis及店铺营业状态设置
java·开发语言·redis
2501_933329553 小时前
舆情监测系统的技术演进:从数据采集到AI中台,Infoseek如何实现“监测+处置”一体化
开发语言·人工智能·自然语言处理·系统架构
dgvri3 小时前
Windows上安装Go并配置环境变量(图文步骤)
开发语言·windows·golang
我是唐青枫3 小时前
C#.NET ReadOnlySequence 深入解析:多段内存遍历与零拷贝协议解析
网络·c#·.net