用计算机语言理解如何多线程工作(用计算机语言理解如何多线程工作的过程)

电脑教程
电脑教程
4319
文章
0
评论
2023年3月3日10:04:05 电脑教程 阅读 17,435

平时跟一些朋友/同事聊天的时候会听到这样一些声音:

”工作量很大,一天到晚都在忙“

用计算机语言理解如何多线程工作(用计算机语言理解如何多线程工作的过程)

”我现在在忙xxx,要等我忙完了才能xxx“

”一天到晚杂事太多,都把自己淹没了“

一个现象背后隐藏的原因是复杂的,通常难以做单一归因解释,即使从时间管理的角度切入都可以找到很多的理论和解释。其中“线性工作”是导致这种现象的一种典型原因,那怎样做到”多线程工作“呢?

用计算机语言理解如何多线程工作(用计算机语言理解如何多线程工作的过程)

计算机在多任务调度时所追求的是“一段时间内”的zui大吞吐量和“合理的”响应速度;

多任务处理是以性能开销为代价的,个别任务的响应速度变慢和上下文切换的大量成本zui为明显。因此多任务调度需要综合平衡任务的时长、优先级、是否可中断、任务类型(CPU耗时在任务中的占比)这些主要因素。在日常拿到一件事情的时候,我们可以参考CPU的做法:

关于任务时长与优先级的思考

首先需要对这件事情的耗时和优先级做一个判断,尽量按优先级优先处理重要的事情; 随着时间的推移,能够定期动态重新评估调整优先级,避免部分任务得不到及时响应; 为了保证尽量大的吞吐量和速度,必要时可以抛弃部分任务,但要有回落兜底机制,避免系统异常(例如协调给其他同学来完成,节省出自己的时间,但保证任务的完成)

关于是否可中断的思考

计算机上下文切换代价很高,人切换思考和任务同样也有转化损耗。转换损耗的形成原因主要有两种,一是任务A留下的认知惯性,也就是之前已经习惯了任务A的认知情境、反应方式,这个惯性会对完成任务B造成干扰;二是做B的时候需要对B进行认知重构,重新回忆起B的相关背景和信息,这个重构也需要时间,而且可能不完整。因此拿到一个任务的时候首先要对任务做有效的剖析非常重要,区分哪些是允许中断的部分,哪些是不能被中断的部分。尽量避免打断“不能被中断的部分“任务,而在”可中断部分“进行并发处理。

关于任务类型的思考

类似于DMA,拿到一件事情要区分哪些部分是必须要自己完成的(CPU任务),哪些是可以委派给其他人完成的(I/O任务),把可以别人协助完成的任务委派给别人完成,并通过中断(时间对齐、预期管理等)来对资源Ready进行响应做后续处理。通过将部分任务委派给其他人,可以提升自己处理任务的速度和吞吐量。

以上内容来源于网络,由“WiFi之家网”整理收藏!

点击展开全文

相关推荐

台式电脑多少价位可剪辑视频 电脑教程

台式电脑多少价位可剪辑视频

在当今数字化时代,视频剪辑已经成为许多人日常生活中的重要一部分,尤其是在自媒体和短视频行业的快速发展下,越来越多的人开始尝试制作和编辑视频。然而,进行视频编辑并不仅仅依赖于软件的操...
台式电脑显卡推荐 电脑教程

台式电脑显卡推荐

在选购台式电脑时,显卡是一个至关重要的部件,因为它直接影响到电脑的图形处理能力和整体性能。无论是玩游戏、进行图形设计工作,还是观看高清视频,显卡的选择都直接关系到用户的体验。因此,...
台式电脑音响插哪个接口 电脑教程

台式电脑音响插哪个接口

在现代家庭或办公室中,台式电脑已成为不可或缺的设备,音响作为增强音频体验的重要配件,其连接方式也显得尤为重��。了解如何正确地将音响连接到台式电脑,不仅关系到音质的发挥,还能避免不...