关于多线程学习总结(二) 了解线程的属性及方法

本文详细介绍了.NET中Thread类的各种属性与方法,包括ApartmentState、CurrentCulture、IsAlive等属性,以及Abort、GetApartmentState、Sleep等方法,并通过示例代码解释了这些属性和方法的作用。
写在前面的话

前一篇随笔我们主要介绍了了多线程相关的概念、多线程的其利与弊以及一个基本的多线程例子。那些都算是些常识性的东西,接下来介绍介绍线程相关的属性和方法吧!其实这篇随笔貌似可有可无,因为MSDN确实是个好东西,它告诉我们的着实太多了,其实这篇随笔主要就是参考MSDN然后进行代码实践而已。如果你觉得这些东西觉得木有必要,认为查MSDN就可以那就直接进入第三节吧(7.13更新),从第三节开始小弟就开始实践操作多线程,感兴趣的进噢!

关于Thread的属性

首先我先来一张图吧,此图来自MSDN,介绍的是Thread所有属性:

接下来我写一个简单例子来看看(以下实践和总结全为本人亲自操作尝试,如有疑问可以和我探讨噢):

1 Thread test = new Thread(new ThreadStart(myThread));
2 test.Start();
3 var x = test.CurrentCulture;    //此处声明变量使用的var,貌似不合理

1.ApartmentState 这个属性在MSDN上显示的为已过时,它是一个枚举变量(STA、MTA、Unknown),其中STA表示Thread将被创建并进入一个单线程单元,MTA表示Thread将被创建并进入一个多线程单元,Unknown表示没有设置线程的单元状态,默认状态为MTA。

2.CurrentContext 表示获取上下文信息(指线程和进程的执行环境,因此包括虚拟内存的设置<告诉我们那个物理内存页面对应那个虚拟内存地址>,句柄转换<因为句柄是基于进程的>,分派器信息,堆栈,以及通用和浮点寄存器的设置)。此句copy过来的额,不甚懂、、、

3.CurrentCulture 我觉得这个蛮有意思的,它用来获取或设置当前线程的区域性。给出上例运行调试的该属性

得到的信息有好多,可以识别地区语言、文本信息、Name等等,那个2052指中文(中国),1033指英语(英国),1042指韩语 。

4.CurrentUICulture 这个属性貌似和CurrentCulture 一样的,用的少忽略之。

5.IsAlive 用于获取一个值,该值指示当前线程的执行状态。当线程处于活动状态为true,否则为false。

6.IsBackground 这个属性挺重要的,获取或设置一个值,该值指示某个线程是否为后台线程。以前用过有印象

7.IsThreadPoolThread 获取一个值,该值指示线程是否属于托管线程池。如果此线程属于托管线程池,则为 true;否则为 false

8.ManagedThreadId 获取当前托管线程的唯一标识符。其值是一个整数,表示此托管线程的唯一标识符。话说这个东东经常在变,同一个程序几次运行结果不一样哦。

9.Name 获取或设置线程的名称。它包含线程名称的字符串,或者如果未设置名称,则为null

关于Thread的方法

其实Thread有很多方法,这里列举几个我有实践的方法吧。

1.对于Abort() 这个大家肯定熟悉,用于印发一个异常然后终止线程的运行

2.GetApartmentState() 返回指示单元状态,默认值为MTA

3.GetDomain() 返回当前线程正在其中运行的当前域。不过我试了在VS2010中木有这个方法啊,大神求解

4.GetHashCode() 返回唯一的应用程序域标识符。不过不知道这个标示符怎么来的额,我运行刚才那个,一般总是10或者11

5.Join() 在继续执行标准的 COM 和 SendMessage 消息泵处理期间,阻塞调用线程,直到某个线程终止为止。这句不甚懂啊啊啊

6.Sleep(Int32) 这个很简单,就是将当前线程暂停指定的时间(毫秒)

7.Start() 开启某个线程

留在武汉的最后一晚

学习这个真的真的真的很枯燥,貌似就算试了还是一头雾水,真的得继续接着continue探讨啊,好多不慎理解,继续努力吧,也希望有个大神可以来点拨下小弟,不甚感激!

今天真心糗大了,YLL啊,你就莫介意额,祝你天天开心哈!明天就要走了,其实呢我还是蛮想见你的,不过呢你要上班貌似不可能了、、、

前往上海各种压力,各种艰辛,加油吧,vito!哥是打不倒滴。生与死轮回不止,我们生,他们死!!!

------如果你觉得此文对你有所帮助,别忘了点击下右下角的推荐咯,谢谢!------

混合动力汽车(HEV)模型的Simscape模型(Matlab代码、Simulink仿真实现)内容概要:本文档介绍了一个混合动力汽车(HEV)的Simscape模型,该模型通过Matlab代码和Simulink仿真工具实现,旨在对混合动力汽车的动力系统进行建模与仿真分析。模型涵盖了发动机、电机、电池、传动系统等关键部件,能够模拟车辆在不同工况下的能量流动与控制策略,适用于动力系统设计、能耗优化及控制算法验证等研究方向。文档还提及该资源属于一个涵盖多个科研领域的MATLAB仿真资源包,涉及电力系统、机器学习、路径规划、信号处理等多个技术方向,配套提供网盘下载链接,便于用户获取完整资源。; 适合人群:具备Matlab/Simulink使用基础的高校研究生、科研人员及从事新能源汽车系统仿真的工程技术人员。; 使用场景及目标:①开展混合动力汽车能量管理策略的研究与仿真验证;②学习基于Simscape的物理系统建模方法;③作为教学案例用于车辆工程或自动化相关课程的实践环节;④与其他优化算法(如智能优化、强化学习)结合,实现控制策略的优化设计。; 阅读建议:建议使用者先熟悉Matlab/Simulink及Simscape基础操作,结合文档中的模型结构逐步理解各模块功能,可在此基础上修改参数或替换控制算法以满足具体研究需求,同时推荐访问提供的网盘链接获取完整代码与示例文件以便深入学习与调试。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值