汉语大全>网友杂谈>花了点时间看了“所长”及其他高手关于“多任务”。..

花了点时间看了“所长”及其他高手关于“多任务”。..

详细内容

名称:花了点时间看了“所长”及其他高手关于“多任务”。..
对于新手,有些看不明白,经过查资料,简单说一下自己的理解。
什么是多任务?
不论PC还是MCU,从微观上看,是没有真正的多任务的,就象人做工作一样,不能同一时刻(不是同一时间)做多件工作。
所以多任务是与时间有关系的,还是用人来作比喻,例如你可一天内做多件工作,包括上班、吃饭、拉屎:),但有半秒内你能做这么多工作吗?MCU也一样,但它就快很多,例如1ms内MCU只做一件任务,但1s内就可做多个任务。这就是所谓的多任务了。
那么MCU多任务的实现就是这样:在某时刻只做一个任务,但在一段时间内可做多个任务。
举个实例:显示4个8字的LED数码管。
传统做法是,做个LcdDisplay()函数,在这个函数内把要显示的内容全部显示出来,也就是从头到尾显示这4个数码管。
多任务的做法,做个LcdUpdate()函数,在这个函数内只显示一位数码管,然后退出。这个函数由一个管理程序调用,例如每10ms调用一次,第一次显示第一个8字,第二次显示第二个8字。...。
如果LcdUpdate()只花2ms,那么10-2=8ms,这8ms可做其他事。
以上显示的时间数值仅作例子,没什么实际意义。
一点肤浅理解,不知正确与否,新手看了不要被误导,高手看了请指出不正确之处。