C# 多线程 知识点概述

本文详细介绍了多线程的相关概念,包括线程的属性、启动、阻塞与解除阻塞方法,以及线程同步的各种机制如Monitor、Lock、Mutex和Semaphore。此外,还讨论了线程通信、线程池的使用、异步委托、Task和异步编程模型async/await。同时提到了UI线程通信和定时器在多线程环境中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.线程Thread

        线程的属性: Name,Priority,ThreadState,IsBackground,IsAlive;

        线程的启动:ThreadStrat,ParameterizedStart;

        线程的阻塞:Join,Sleep,Yield;

        线程的解除阻塞:正常解除;超时解除;interrupt;

        线程的自旋:SpinWait;

        线程的结束:Abort;

2.线程同步锁

        同步锁:Monitor;

        同步锁:Lock;

        跨进程锁:Mutex;

        原子操作锁:Interlocked;

3.线程信号量

        信号量:Semaphore;

        轻量信号量:SemaphoreSlim;

4.线程自旋

        自旋锁:SpinLock

        自旋等待:SpinWait

5.线程通信事件

        基础事件:WaitHandle;

        同步事件:EventWaitHandle;

        自动复位同步事件:AutoResetEvent;

        手动复位同步事件:ManualResetEvent;

        轻量手动复位同步事件:ManualResetEventSlim

6.UI线程通信

        控件委托:Invoke,BeginInvoke;

        同步上下文:SynchronizationContext;

7.线程池ThreadPool

        线程池的启动:QueueUserWorkItem

        线程池的阻塞:RegisterWaitForSingleObject

8.异步委托BeginInvoke

9.任务Task

        Task的创建:Task,Task<TResult>,TaskFactory,TaskFactory<TResult>

        Task的启动:Task.Start,Task.Run,TaskFactory.StartNew

        Task的等待:Wait,WaitAny,WaitAll

        Task的延续:ContinueWith,ContinueWhenAny,ContinueWhenAll

10.异步编程async和await

11.定时器Timer

        多线程定时器:System.Threading.Timer,System.Timers.Timer

        单线程定时器:Windows.Forms.Timer,Windows.Threading.DispatcherTimer

12.后台工作器BackgroundWorker

13.并发集合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值