代码改变世界

C# 线程手册 第一章 线程定义系列

  DanielWise  阅读(4919)  评论(4编辑  收藏  举报

《C# Threading Handbook》 系列翻译文章的分类汇总陆续贴出,欢迎大家持续关注~

[第1篇] 线程定义 之一

多线程是一种将一个应用程序切分成“线程”并按步骤运行程序的其他部分的平台开发能力。在大多数编程语言中,你会有一个Main()方法,每行代码都会顺序执行,只有当前面的一行代码执行完,后面的代码才会执行。线程是操作系统常规多任务能力的一个组成部分并允许应用程序的一部分与其他对象的分别执行的一个特定对象,所以不在应用程序通用执行顺序范畴内。本篇主要介绍什么是线程,多任务。

[第2篇] 线程定义 之二

进程也有一个使用计算机处理器的执行顺序。这个执行顺序就是线程。这个线程由CPU上正在使用的寄存器,线程使用的堆栈以及保存线程当前状态的存储器共同定义。本篇主要介绍单线程进程、时间片、多线程进程、中断以及线程优先级。

[第3篇] 中断和局部线程存储

当一个线程用完了分配给它的时间片以后,它不会停止而是再次排队等待。每个处理器在同一时间只能处理一个线程,所以当前线程不得不离开(被从处理器中移出)。然而,在线程跳出执行之前,它得将离开前的状态信息保存下来以便于再次执行。如果你的记性不错,这个功能就称作线程本地存储(TLS).一个线程的本地线程存储包含寄存器,堆栈指针,调度信息,内存中的地址空间以及其他正在使用的资源信息。TLS 中存储的众多寄存器中有一个程序计数器,它会告诉线程下次从哪条指令开始执行。

[第4篇] .NET 和 C# 对线程的支持

由于.NET Framework 支持自由线程,所以自由线程在所有.NET 语言中都存在,包括C#和VB.NET. 在下一部分,我们将着重关注如何提供这种支持以及更多关于线程是如何做到的,而不再关注线程是什么。在这一部分的最后,你将理解什么是System.AppDomain 类以及它可以帮助你做什么?.NET runtime(运行时)如何监控线程?

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示