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可以为任意类型
相关推荐
东华万里1 小时前
第41篇 C++类与对象核心知识梳理:从底层原理到面试实战
开发语言·c++·大学生专区
微小冷1 小时前
Python图论库NetworkX初步
开发语言·python·图论·graph·networkx·digraph
qq_589666052 小时前
C语言、C++与C#的区别详解
c语言·c++·c#
Data_Journal2 小时前
如何使用 Python 抓取 Google Flights:分步指南
大数据·开发语言·数据库·python·scrapy
一直C2 小时前
【数据结构】哈希表+算法复杂度与经典排序查找(C语言)
java·linux·开发语言·数据结构·算法·ubuntu·散列表
淡海水2 小时前
04-02-哈希-Dictionary-TKey-TValue-上-核心数据结构
数据结构·算法·c#·哈希算法·编译·字典·dictionary
Kismet_nvi3 小时前
Python 基础核心知识点总结
开发语言·windows·python
爱学习的小邓同学3 小时前
Golang语言入门
开发语言·后端·golang
编码浪子3 小时前
Rust 智能指针深度实战:Box/Rc/Arc/RefCell 选型决策与内存管理避坑
开发语言·后端·rust
yichudu4 小时前
Python 装饰器 decorator
开发语言·python