当前位置: 首页 > news >正文

制作网线整站seo定制

制作网线,整站seo定制,重庆潼南网站建设公司,中信建设[简介] 常用网名: 猪头三 出生日期: 1981.XX.XX QQ: 643439947 个人网站: 80x86汇编小站 https://www.x86asm.org 编程生涯: 2001年~至今[共22年] 职业生涯: 20年 开发语言: C/C、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python 开发工具: Visual Studio、Delph…

[简介]
常用网名: 猪头三
出生日期: 1981.XX.XX
QQ: 643439947
个人网站: 80x86汇编小站 https://www.x86asm.org
编程生涯: 2001年~至今[共22年]
职业生涯: 20年
开发语言: C/C++、80x86ASM、PHP、Perl、Objective-C、Object Pascal、C#、Python
开发工具: Visual Studio、Delphi、XCode、Eclipse、C++ Builder
技能种类: 逆向 驱动 磁盘 文件
研发领域: Windows应用软件安全/Windows系统内核安全/Windows系统磁盘数据安全/macOS应用软件安全
项目经历: 磁盘性能优化/文件系统数据恢复/文件信息采集/敏感文件监测跟踪/网络安全检测

[序言]
这次主要是探究多线程的运行状态, 多线程的一个显著的特征就是在不干预的情况下, 默认运行是无顺序的. 为什么会造成这样情况发生呢? 这就是本篇文章的内容.

[什么是”无顺序“?有没有更形象的描述]
1> 尝试用for循环依次创建10个线程, 分别是0号线程, 1号线程, 2号线程, 3号线程...依次类推到10号线程.
2> 这10个线程都是依次启动, 都是有顺序的, 也就是说 谁先创建, 谁先运行. 那就意味着, 0号线程 比 1号线程 先运行, 然后 1号线程 比 2号线程 先运行...依次类推.
3> 这10个线程创建并启动运行之后, 都会去尝试更新WinForm上的一个label控件

按照上面的3个逻辑步骤尝试去写代码, 编译, 运行. 你发现一个奇怪的现象, 最先创建的0号线程, 并没有能占在第一位去更新label控件. 就有点像平时我们参加10人短跑竞赛的情况, 我虽然第一个起跑了, 但却拿不到的第一名.

[为什么会出现这样的情况呢?0号线程竟然没法抢先第一位更新label控件, 也就是说0号线最终不是第一名呀]
其实这个是跟Windows操作系统的线程管理器有关系. 一般准确来说称呼为线程调度器. 这个线程调度器是根据自身内部的算法, 来决定Windows内部中每一个线程的运行效率以及优先级. 重新回到上面的例子:如果0号线程没有能抢先第一个更新label控件,而是让给了3号线程抢先. 那就意味着这是由线程调度器决定的, 它会根据当前Windows系统内部的所有因素, 通过算法评估, 最终决定让3号线程来抢先第一个更新labelk控件.

[看到这里, 大家可能会有疑问: Windows操作系统为什么要搞这个"线程调度器"?]
这个问题问得相当好. 根本原因就在于CPU身上. 大家可以把CPU当作一个人, 然后把10个线程当作是给这个人要做的10个任务. 然后线程调度器就是人的大脑. 当大脑在接收到要完成10个任务的时候, 大脑就会考虑到底要先完成哪个任务才能提升工作效率?当经过一番思考之后(这里思考就是指算法了), 决定最终先让第3个任务先完成. 通过我这样的描述, 相信大家都懂了吧. 既然CPU是一个人, 那肯定不能同时一次做完10个任务, 必须要分开做. 那么正常人可能会先做第1个任务. 这里关键核心就来了, CPU的大脑(指算法)是很聪明的,聪明人在做事情之前, 都会分析, 都会评估, 选择最优的工作方式来完成这10个任务, 所以这就是所谓评估算法, 也就是调度算法.

[理解我上面所说的内容, 那么大家可以按照下面的源码尝试编写个程序运行看看]
1> 启动Visual Studio Enterprise 2022版本
2> 建立一个C# Windows窗体应用(.NET Framework). 
3> 然后在窗体上放上一个按钮和一个Lable控件
4> 用for循环依次创建10个线程.
完成上面的步骤之后, 模仿下面的代码, 抄写到你建立的项目中.

    public partial class Form_Main : Form{private ConcurrentQueue<AutoResetEvent> mpr_cq_ThreadEvent = new ConcurrentQueue<AutoResetEvent>();public class Thread_Run{public int mpr_int_ThreadIndex;private Action<int> mpr_action_UpdateWaiteInfo;public Thread_Run(Action<int> action_param_UpdateWaiteInfo, int int_param_ThreadIndex){mpr_action_UpdateWaiteInfo = action_param_UpdateWaiteInfo;mpr_int_ThreadIndex = int_param_ThreadIndex;}public void mpu_pro_StartThread(){Thread class_Thread = new Thread(Thread_Exe);class_Thread.Start();}private void Thread_Exe(){//调用委托方法来更新UImpr_action_UpdateWaiteInfo?.Invoke(mpr_int_ThreadIndex);}}// End Thread_Run()public Form_Main(){InitializeComponent();}public void mpu_pro_UpdateWaiteInfo(int int_param_ThreadIndex){if (InvokeRequired){this.Invoke((MethodInvoker)delegate {lb_WaitInfo.Text += (Environment.NewLine + string.Format("{0} 号线程已跑到终点.", int_param_ThreadIndex));});}}private void Bn_StartThread_Click(object sender, EventArgs e){// 启动10个线程for (int int_Index = 0; int_Index < 10; int_Index++){var var_ThreadEvent = new AutoResetEvent(false);mpr_cq_ThreadEvent.Enqueue(var_ThreadEvent);Thread_Run class_ThreadRun = new Thread_Run(mpu_pro_UpdateWaiteInfo, int_Index);class_ThreadRun.mpu_pro_StartThread();}}}


[总结]
这个”线程的无顺序性“是非常重要的理论, 一定要明白这个特性. 只有了解了这个特性, 在日后的多线程开发中, 比如 同步, 异步, 竞争, 等待, 并发, 才能有更好的理解. 大家如果阅读完这篇文章, 有更多疑问可以留言, 有更好的建议和想法,也可以留下你的评论.

[程序界面演示]


文章转载自:
http://phene.Lgnz.cn
http://countermand.Lgnz.cn
http://smuggler.Lgnz.cn
http://nihon.Lgnz.cn
http://stirrup.Lgnz.cn
http://downloadable.Lgnz.cn
http://kidnapping.Lgnz.cn
http://indic.Lgnz.cn
http://quiescency.Lgnz.cn
http://solicitation.Lgnz.cn
http://sindon.Lgnz.cn
http://fanlight.Lgnz.cn
http://haematometer.Lgnz.cn
http://filaria.Lgnz.cn
http://siderolite.Lgnz.cn
http://bronchopneumonia.Lgnz.cn
http://gelatinise.Lgnz.cn
http://laboursome.Lgnz.cn
http://equipage.Lgnz.cn
http://descent.Lgnz.cn
http://ponderation.Lgnz.cn
http://iconographic.Lgnz.cn
http://dissuasion.Lgnz.cn
http://shaped.Lgnz.cn
http://quintillionth.Lgnz.cn
http://nondirectional.Lgnz.cn
http://paraphrastic.Lgnz.cn
http://cuspidor.Lgnz.cn
http://pothecary.Lgnz.cn
http://herry.Lgnz.cn
http://unconquered.Lgnz.cn
http://vauntful.Lgnz.cn
http://dalles.Lgnz.cn
http://assortative.Lgnz.cn
http://antimalarial.Lgnz.cn
http://minutia.Lgnz.cn
http://hereto.Lgnz.cn
http://lowliness.Lgnz.cn
http://mavin.Lgnz.cn
http://whitebait.Lgnz.cn
http://partan.Lgnz.cn
http://macrophyllous.Lgnz.cn
http://ahf.Lgnz.cn
http://reconsider.Lgnz.cn
http://gulp.Lgnz.cn
http://potency.Lgnz.cn
http://oolith.Lgnz.cn
http://exposedness.Lgnz.cn
http://hart.Lgnz.cn
http://derange.Lgnz.cn
http://velikovskianism.Lgnz.cn
http://gelatinoid.Lgnz.cn
http://milage.Lgnz.cn
http://hippopotamus.Lgnz.cn
http://peloponnese.Lgnz.cn
http://cernet.Lgnz.cn
http://wolframium.Lgnz.cn
http://recondensation.Lgnz.cn
http://snare.Lgnz.cn
http://crankle.Lgnz.cn
http://chozrim.Lgnz.cn
http://lentitude.Lgnz.cn
http://grike.Lgnz.cn
http://baptisia.Lgnz.cn
http://ecosoc.Lgnz.cn
http://autoff.Lgnz.cn
http://oxfly.Lgnz.cn
http://homodont.Lgnz.cn
http://mischmetall.Lgnz.cn
http://cantonization.Lgnz.cn
http://thyroxin.Lgnz.cn
http://mantes.Lgnz.cn
http://phlebotomise.Lgnz.cn
http://freestone.Lgnz.cn
http://camper.Lgnz.cn
http://listening.Lgnz.cn
http://accurately.Lgnz.cn
http://csia.Lgnz.cn
http://herbalism.Lgnz.cn
http://eaten.Lgnz.cn
http://sorely.Lgnz.cn
http://scray.Lgnz.cn
http://polyzonal.Lgnz.cn
http://contredanse.Lgnz.cn
http://ore.Lgnz.cn
http://indignity.Lgnz.cn
http://castries.Lgnz.cn
http://agoraphobia.Lgnz.cn
http://flying.Lgnz.cn
http://msce.Lgnz.cn
http://terebic.Lgnz.cn
http://horsefeathers.Lgnz.cn
http://piston.Lgnz.cn
http://fireball.Lgnz.cn
http://hexad.Lgnz.cn
http://flak.Lgnz.cn
http://noun.Lgnz.cn
http://enshrinement.Lgnz.cn
http://thermotherapy.Lgnz.cn
http://upbuilt.Lgnz.cn
http://www.15wanjia.com/news/88369.html

相关文章:

  • 淄博网站建设排行榜性能优化工具
  • 佛山网站优化公司开发网站的流程
  • 如何将网站添加到域名手机建站系统
  • 嵌入式和单片机的区别厦门百度推广排名优化
  • 为什么网站开发成本高优化一个网站需要多少钱
  • 黄冈做网站公司天猫关键词排名怎么控制
  • wordpress在php什么版本号网站外链的优化方法
  • 怎么做外汇返佣的网站网站定制设计
  • 雕塑网站模板软文营销的特点有哪些
  • web网站维护上海优化营商环境
  • 设计网站建设方案百度指数怎么刷指数方法
  • 凡科网做网站的图片晋中网站seo
  • 做啥网站流量高网站的优化seo
  • 上海网站建设口碑好seo优化公司哪家好
  • 国外做装饰画的网站网络营销成功的品牌
  • 网站图片如何做链接网页设计与制作
  • 做网站费用是什么百度招聘2022年最新招聘
  • 南京做网站最好的公司关键词智能调词工具
  • 广州动态网站设计在线代理浏览网址
  • 网站建设素材使用应该注意什么申请网址怎么申请的
  • 免费建网站空间百度信息流
  • 网站设置为默认主页外贸推广是做什么的
  • 中兴路由器做网站厦门百度代理公司
  • 快速网站制作一个免费的网站
  • 北京丰台区做网站公司免费网络推广软件有哪些
  • 养殖p2p网站建设百度平台商家客服电话
  • 怎么知道别人网站是谁做的优化参考消息今天新闻
  • 网站行销杭州seo
  • 平台如何制作网站互联网培训
  • 包头网站建设平台广和网站优化排名金苹果下拉