求指教:最简单的优先级调度算法

[复制链接]
 楼主| hdp7891000 发表于 2011-6-9 14:14 | 显示全部楼层 |阅读模式
本人菜鸟一枚,现在写程序只能是前后台系统。原来的程序是这样的
main()
{
    while(1)
    {
         if(flag1)
        {
        }

        if(flag2)
        {
        }

        if(flag3)
        {
         }
         ......
         ......
}
interrupt()
{
}

现在突发奇想想出了一种最简单粗陋的基于优先级的算法
main()
{
    while(1)
    {
         if(flag1)//最高优先级
        {
        }

        else if(flag2)
        {
        }

        else if(flag3)
        {
         }
         ......
         ......
}
interrupt()
{
}


请大侠指教点评这种想法的科学度和有用性,大家有这样类似用过么?
另外大家如果裸奔的话的调度算法一般是如何的?
delin17 发表于 2011-6-10 10:20 | 显示全部楼层
函数指针.
 楼主| hdp7891000 发表于 2011-6-10 14:30 | 显示全部楼层
2# delin17 大侠能不能稍微详细说一下?
hgjinwei 发表于 2011-6-11 07:23 | 显示全部楼层
把uC那套搬过来就行了,不复杂。
airwill 发表于 2011-6-11 09:30 | 显示全部楼层
其实这两种, 用起来 基本没有多大差别.
高优先级很忙的时候, 后一种会阻塞低优先级的任务.
但是, 这还是个非抢先式的调度.
 楼主| hdp7891000 发表于 2011-6-14 08:32 | 显示全部楼层
4# hgjinwei 正有此意
 楼主| hdp7891000 发表于 2011-6-14 08:32 | 显示全部楼层
5# airwill 确实是非抢占式的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

322

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部

14

主题

322

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部