1、早期的多任务

    多任务的概念(抢占式任务)

        多任务在表面上看,是多个程序在计算机上运行。而实际上,计算机是通过芯片的时钟分配 “时间片” ,为每个程序分配时间,程序在规定的 “时间片” 时间内未完成任务,
则计算机会周期性地中断该程序,随机运行其他程序(也是规定 “时间片” 的时间),以此达到 “同时” 运行的效果。

    16位Window下的多任务(非抢占式任务)

        早期的 Window 版本,多任务的实现方式并不是分配 “时间片” 方式(抢占式)。

        Window 是以消息机制来运行程序,通常程序处于休眠状态,直到收到消息后激活,在处理完该消息后,程序把控制权返回给 Window。任务的切换只发生在一个程序处理

完一条消息后,并把控制权返回给 Window 之后。(非抢占式,也叫 “协同多任务”)如果程序处理一条消息需要很长时间的话,会占用整个 Window。

        以下方式可以解决 Window 程序非抢占式:

        1、使用 Window 计时器,使程序周期性地接受消息,完成一些周期性的任务

        2、使用 PeekMessage 函数,如果程序没有待处理消息,会把控制权返回给 Window(一般程序都使用 GetMessage 函数,从消息队列中获取吓一跳消息)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值