C# 委托中的多线程

本文介绍了C#中的多线程概念及其优点,包括提高CPU利用率和并发执行任务。同时也阐述了多线程的缺点,如内存占用、管理成本和资源竞争问题。线程的生命周期包括未启动、就绪、不可运行和死亡四个状态。
摘要由CSDN通过智能技术生成

目录

摘要:

(1)多线程具有以下优点

(2)多线程具有以下缺点

(3)线程的生命周期

下面列出了线程生命周期中的各种状态。

① 未启动状态:

② 就绪状态:

③ 不可运行状态:

④ 死亡状态:


摘要:

       什么是多线程?我们在建立以个C#项目时,往往会在Form1上添加控件,然后写代码,初学者都是在重复这个过程,其实这个过程是单线程的,可以理解为只有“main”主线程,有的时候往往需要同时测量多个东西,比如说在扫面局域网主机时,如果按一个一个主机的IP去扫描,会很浪费时间,因为当一个主机未开机,会对这个主机等待一直到超时。如果建立多个线程,让所有的IP 扫描分配给不同的线程去执行,因此会节省很多时间,尤其是扫面的IP段主机大部分没开机,和单线程比花费的时间差很多。 

       多线程就是同一进程中的多条线程将共享该进程中的全部系统资源,如虚拟地址空间,文件描述符和信号处理 等等。但同一进程中的多个线程有各自的调用栈(call stack),自己的寄存器环境(register context),自己的线程本地存储(thread-local storage)。

一个进程可以有很多线程,每条线程并行执行不同的任务。

(1)多线程具有以下优点

可以提高 CPU 的利用率。在多线程程序中,一个线程必须等待的时候, CPU 可以运行其他的线程 而不是

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C#委托多线程是常用的处理并发编程的方法。委托是一种类型,它可以存储对一个或多个方法的引用,并允许在需要时调用这些方法。通过使用委托,我们可以在不同的线程执行不同的方法。\[2\] 在C#,线程是使用Thread类处理的。可以通过创建Thread对象并传递一个方法作为参数来创建线程。例如,可以使用Thread类的构造函数创建一个新的线程,并将一个方法作为参数传递给它。然后,可以调用Start方法来启动线程的执行。\[1\] 然而,在使用多线程时,需要注意跨线程访问控件的问题。一般情况下,窗体的控件是属于主线程的,如果在其他线程直接访问控件,会导致报错。为了解决这个问题,可以使用委托来在其他线程更新控件的值。首先,需要声明一个委托类型,然后创建一个委托对象,并将要执行的方法作为参数传递给它。接下来,可以创建一个新的线程,并在该线程调用Invoke方法来更新控件的值。\[2\] 另外,C#还提供了使用Task类来创建多线程的方法。可以使用Task.Factory.StartNew方法来创建一个新的任务,并传递一个方法作为参数。然后,可以使用Task.WaitAll方法等待所有任务执行完成,或者使用Task.WaitAny方法等待任意一个任务执行完成。\[3\] 总结起来,委托多线程C#处理并发编程的常用方法。委托可以用于在不同的线程执行不同的方法,而多线程可以通过Thread类或Task类来创建和管理线程。在使用多线程时,需要注意跨线程访问控件的问题,并可以使用委托来解决这个问题。 #### 引用[.reference_title] - *1* *2* *3* [c#多线程委托的使用](https://blog.csdn.net/qq_39559182/article/details/103954877)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值