计算机编程中多任务是什么
本文小编为大家详细介绍"计算机编程中多任务是什么",内容详细,步骤清晰,细节处理妥当,希望这篇"计算机编程中多任务是什么"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
什么是多任务
从用户观点来看就是计算机同时做几件事。主要有两种情况,一种是播放视频的同时可以写博客,敲代码的同时可以下载文件等,这属于多个应用同时执行的情况;另一种情况,如果我们观察视频播放器,在播放视频时可以操作停止按钮,这属于一个应用内部的多任务。
从程序员观点来看,就是计算机同时执行多段代码。这里用一个不太严谨的示意图来说明程序员的观点的单任务和多任务,假设两件事情需要处理,分别是TASK1,TASK2。
在单任务执行时,首先执行TASK1,当TASK1结束以后,执行TASK2。如果是多任务执行的话,就是TASK1和TASK2交替执行。
所谓不严谨值得是在实际的系统中:
任务块的划分不一定均匀
执行的次序不一定严格交替
执行间隔不一定
为什么需要多任务
有一个错误的理解是提高系统的效率,应该说这是一个不准确的说法,从执行时间的来讲,需要做的工作没有减少,当然占用CPU的时间就不会减少。不仅如此,多任务执行时多了TASK间调度的操作,实际上执行时间还是会略有延长的。
那么多任务执行的意义在哪里呢?
通过上图可以看出,虽然总的时间没有变化,每个任务的执行间隔变短了,换句话说相应快了。如果间隔足够短(例如数10毫秒),从宏观上看,就好像两个任务都在同时执行。都能对输入进行及时地处理了。
换一种说法,如果存在需要至少一个对外部要求快速反应的任务时,多任务是一种有效的解决方案。否则没有必要引入多任务。
实现多任务的方式
程序员自己实现
将两个任务拆分为小的段落,通过程序控制任务的交替执行。这种方式的缺点是程序会变得很复杂,增加任务或者调整任务的内容时的维护会非常麻烦。当然也有好处,这种方式不要求系统支持多任务,适用于单任务系统甚至是裸机上执行的程序。
通过操作系统实现
每个任务作为单独的程序来设计和实现,任务之间的调度利用操作系统的功能来实现。这种做法的好处是最大限度保持任务之间的独立性,使增加任务或者调整任务内容变得简单。虽然这种方式可能增加系统开销,但是在目前软件/硬件成本都在不断下降的大环境下,这种方式已经成为主流。
读到这里,这篇"计算机编程中多任务是什么"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。