打印

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

[复制链接]
1227|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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那套搬过来就行了,不复杂。

使用特权

评论回复
5
airwill| | 2011-6-11 09:30 | 只看该作者
其实这两种, 用起来 基本没有多大差别.
高优先级很忙的时候, 后一种会阻塞低优先级的任务.
但是, 这还是个非抢先式的调度.

使用特权

评论回复
6
hdp7891000|  楼主 | 2011-6-14 08:32 | 只看该作者
4# hgjinwei 正有此意

使用特权

评论回复
7
hdp7891000|  楼主 | 2011-6-14 08:32 | 只看该作者
5# airwill 确实是非抢占式的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

322

帖子

4

粉丝