2024年3月14日发(作者:)
任务调度
从网上发现了好多任务调度的框架,对于小白的编辑来说也很困惑啊,那让我们一起
慢慢走近任务调度框架吧!
什么是任务调度
任务调度是操作系统的重要组成部分,而对于实时操作系统,任务调度直接影响其实
时性能。
任务调度方式常规可分为:
可打断调度(实时系统基本功能):关键防止优先级倒置 ;
不可打断调度:先来先服务,不可中断。
任务调度算法可分为:
事件驱动调度算法:根据事件的先后以及任务的优先级安排任务的执行;
时钟驱动调度算法:一般用于周期任务。
事件驱动调度,依赖外部硬件设备,通过产生中断方式为任务调度提供信号。
分两种:
集成事件驱动调度:中断的优先级与任务的优先级相对应,中断只有在其优先级高于
正在执行的任务时才会被处理器响应。
非集成事件驱动调度:任务通过外部中断启动,中断优先级与相关任务优先级没有关
系。
前言
任务调度是指基于给定时间点,给定时间间隔或者给定执行次数自动执行任务。本文
由浅入深介绍四种任务调度的 Java 实现:
• Timer
• ScheduledExecutor
• 开源工具包 Quartz
• 开源工具包 JCronTab
Timer
Timer:是生产者--消费者模型的一种特例:多生产者,单消费者模型。
优点:简单易用
缺点:所有任务都是由同一个线程来调度,因此所有任务都是串行执行的,同一时间


发布评论