`
wangxuliangboy
  • 浏览: 210696 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

一个简单的任务调度

阅读更多

import static java.util.concurrent.TimeUnit.SECONDS;

import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;

public class BeepControl {

    // 创建一个线程池,它可安排在给定延迟后运行命令或者定期地执行。
    private final ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);

    public void beepForAnHour() {
        final Runnable beeper = new Runnable() {

            public void run() {
                // 调用系统的beep
                java.awt.Toolkit.getDefaultToolkit().beep();
            }
        };
        // 创建并执行一个在给定初始延迟后首次启用的定期操作,后续操作具有给定的周期;也就是将在 initialDelay 后开始执行,
        // 然后在 initialDelay+period 后执行,接着在 initialDelay + 2 * period 后执行,依此类推。
        final ScheduledFuture<?> beeperHandle = scheduler.scheduleAtFixedRate(beeper, 0, 1, SECONDS);

        // 在60*60 SECONDS后,试图取消对beeperHandle任务的执行
        scheduler.schedule(new Runnable() {

            public void run() {
                // 取消对beeperHandle任务的执行
                beeperHandle.cancel(true);
            }
        }, 60 * 60, SECONDS);
    }

    public static void main(String[] args) {
        BeepControl ctr = new BeepControl();
        ctr.beepForAnHour();
    }
}

分享到:
评论

相关推荐

    任务调度,任务调度,任务调度

    在这个场景中,"任务调度,任务调度,任务调度"的标题强调了对这一主题的重视,而描述提到的"简单的任务调度池"暗示了我们正在讨论一种能够处理大量任务(例如300万个)的高效机制,而不会导致系统崩溃或性能严重...

    几种任务调度的Java实现方法与比较

    `java.util.Timer` 是Java早期提供的一个简单任务调度工具类,它使用单线程来处理所有任务,因此在并发任务较多的情况下可能存在一定的性能瓶颈。 ##### 示例代码解析: ```java package com.ibm.scheduler; import...

    YDOS-无轮询方式 最简单易学 的系统 基于ucosII 改写的简单任务调度实现 汇编代码有详细注释

    本资源"YDOS-无轮询方式"是基于UCOSII进行改造的一个简单任务调度实现,特别强调了无轮询方式,这表明它可能采用了一种不同于原版UCOSII的调度策略。 UCOSII的默认调度算法是基于优先级的抢占式调度,它将任务按照...

    STM32 UCOS简单任务调度

    STM32 UCOS简单任务调度是嵌入式系统开发中的一个重要环节,主要涉及STM32微控制器、uC/OS操作系统以及Cortex-M3处理器架构。本文将深入探讨这些知识点,帮助开发者理解如何在STM32平台上实现高效的任务调度。 首先...

    .net 简单任务调度平台

    .net 简单任务调度平台,用于.net dll,exe的任务的挂载,任务的隔离,调度执行,访问权限控制,监控,管理,日志,错误预警,性能分析等。 1) 平台基于quartz.net进行任务调度功能开发,采用C#代码编写, 支持corn...

    51单片机简易OS任务调度

    在本文中,我们将深入探讨如何在51单片机上实现一个简单的操作系统(OS),主要关注任务调度。这个话题基于KEIL开发环境和C51编程语言,这是一门专门针对8051系列单片机的编程语言。我们将讨论基本的OS概念,任务...

    51内核 任务调度器实例(合作式)

    总的来说,51内核的合作式任务调度器实例是一个实用的嵌入式系统设计示例,它展示了如何在资源受限的环境中实现多任务管理。通过学习和实践这样的实例,开发者可以更好地理解和掌握嵌入式系统中的任务调度原理,为...

    算法实验3-任务调度

    在“算法实验3-任务调度”中,我们关注的是一个特定类型的调度问题,即在单处理器系统上处理具有期限和惩罚的单位时间任务。这个场景常见于实时系统或者需要满足服务质量(QoS)要求的应用。 首先,我们需要理解任务...

    定时器 任务调度器 定时器 任务调度器

    Quartz是Java平台上广泛使用的一个开源任务调度框架,它提供了一种灵活的方式来创建、调度和执行定时任务。Quartz支持 cron 表达式,可以方便地配置任务的执行时间和频率,同时还支持任务集群,能够在分布式环境中...

    用C语言实现任务调度的方式

    通过学习这个非真实RTOS的C语言实现,你可以了解到任务调度的基本流程,如何用C语言编写结构化的任务和定时器,以及如何设计一个简单的调度算法。这些都是进入操作系统和嵌入式开发领域的重要步骤。

    FreeRTOS简单任务调度实现

    本次FreeRTOS任务调度通过S32K144来实现,首先进行工程的创建,然后做代码分析。 选择file-&gt;new-&gt;S32DS Application Project 填写工程名称,选择S32K144,点击next FPU Support选择Hardware:-mfloat -abi = hard...

    asp.net任务调度

    简单任务调度平台,用于.net dll,exe的任务的挂载,任务的隔离,调度执行,访问权限控制,监控,管理,日志,错误预警,性能分析等。 平台基于quartz.net进行任务调度功能开发,采用C#代码编写, 支持corn表达式和第...

    UCOSII实验-任务调度.rar

    当一个高优先级任务就绪时,UCOSII内核会立即停止当前运行的任务,并切换到高优先级任务,这种切换过程称为任务调度。这种调度方式保证了高优先级任务能够及时响应,从而实现系统的实时性。 二、任务调度的实现 在...

    一个任务调度问题

    在单处理器上具有期限和惩罚的单位时间任务调度问题。 代码实现这个问题的贪心算法,而且将每个wi替换为 max(w1,w2..wn)-wi ,运行算法比较结果.

    java任务调度工具

    本项目提供了一个包含源码的任务调度解决方案,具有可视化的操作界面,使得任务的创建、管理和监控变得更加便捷。 首先,我们要理解什么是任务调度。任务调度是指在计算机系统中,根据预设的时间或条件自动执行特定...

    spring timer、quartz俩种任务调度

    `Spring Timer`是Spring框架提供的一个简单任务调度工具,它基于Java的`java.util.Timer`类。通过`@Scheduled`注解,开发者可以在Spring应用上下文中声明一个方法为定时任务。例如: ```java import org.spring...

    c++ 任务调度demo

    "Bosma/Scheduler"是一个C++的任务调度器示例,它提供了一种机制,可以让我们自定义任务的执行策略,例如优先级、时间片分配等。在阅读和使用这个项目时,你需要关注以下几个关键点: 1. **线程池**:项目可能采用...

    heft任务调度算法

    HEFT(Hierarchical Earliest Finish Time)算法是一种在并行计算和分布式系统中广泛使用的任务调度策略。这个算法的核心目标是最大化系统效率,通过优化任务的执行顺序来减少整体的完成时间。它特别适用于处理计算...

    UCOSII任务调度

    每个任务都有一个独立的执行路径,它们通过任务调度器交替执行。任务的优先级决定了它们在调度时的执行顺序,优先级越高,获得CPU使用权的机会越大。 2. **任务状态**: 任务有三种基本状态:就绪态、运行态和阻塞...

    spring 任务调度

    在IT行业中,Spring框架是Java开发中的一个核心组件,它提供了丰富的功能,包括但不限于依赖注入、AOP(面向切面编程)以及我们今天要讨论的重点——任务调度。Spring的任务调度模块使得开发者能够在应用中轻松地...

Global site tag (gtag.js) - Google Analytics