0 0

ScheduledThreadPoolExecutor里面如何删除一个任务?10

ScheduledThreadPoolExecutor里面通过scheduleAtFixedRate(Runnable command, long initialDelay, long period, TimeUnit unit)方法提交了几个按照固定间隔时间执行的任务。
添加完毕运行一段时间后,我想删除其中一个任务。

ScheduledThreadPoolExecutor类提供了remove(Runnable task)方法。
可是我每次执行remove方法,都返回false,无法删除任务。


利用ScheduledThreadPoolExecutor类的BlockingQueue<Runnable> getQueue() 方法,返回任务列表去contains我的任务,也返回false。

请问,我如何在ScheduledThreadPoolExecutor里面删除一个已经提交的任务?
2012年1月13日 17:02

1个答案 按时间排序 按投票排序

0 0

为什么要删除任务呢

2012年1月29日 01:34

相关推荐

    源码解析文件ScheduledThreadPoolExecutor

    在 Java 中,ScheduledThreadPoolExecutor 是一个线程池执行器,用于执行延迟任务。它使用DelayedWorkQueue来实现延迟的效果。下面是 ScheduledThreadPoolExecutor 的实现细节: 首先,ScheduledThreadPoolExecutor...

    java定时任务开源案例

    - `java.util.concurrent.ScheduledExecutorService`: 这是Java并发包中的一个接口,通过实现该接口的类(如`ScheduledThreadPoolExecutor`)可以创建一个可调度的任务池。相比`Timer`,它更强大,支持多线程并行...

    java定时任务调度

    - `TimerTask`是一个抽象类,作为定时任务的基类,你需要继承它并重写`run()`方法来定义你的任务逻辑。 - 使用`Timer.schedule(TimerTask task, long delay)`方法可以设置一次性的延迟执行,`Timer.schedule...

    线程池、任务、任务组、任务池,定时任务的类库-hy.common.tpool.zip

    线程池(ThreadPool)是Java并发编程中一个重要的概念,它是多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池可以有效控制运行的线程数量,如果线程数量超过了最大数量,超出...

    JAVA定时任务

    Java定时任务是Java编程中一个重要的概念,它允许开发者在特定的时间间隔或特定时间执行某项任务,这对于系统维护、数据备份、定时提醒等场景非常有用。本篇将围绕Java定时任务这一主题展开,深入探讨相关知识。 1....

    基于任务线程处理例子

    任务是可执行的工作单元,它可以是一个简单的函数调用,也可以是一个复杂的业务逻辑。在Java中,`java.util.concurrent`包提供了`Future`和`Callable`接口来表示具有返回值的任务,而`Runnable`则用于无返回值的任务...

    java定时任务

    Java定时任务是Java开发中一个重要的功能模块,它允许程序按照预定的时间间隔或者特定时间点执行特定的任务。在企业级应用开发中,定时任务被广泛用于数据同步、报表生成、邮件发送、缓存清理等场景。Java提供了多种...

    WebService 定时任务 任务预警

    开发者可以创建一个ScheduledThreadPoolExecutor实例,然后通过其scheduleAtFixedRate或scheduleWithFixedDelay方法来安排周期性任务。此外,Spring框架提供了更高级的定时任务管理,如@Scheduled注解和Task...

    Java自带定时任务ScheduledThreadPoolExecutor实现定时器和延时加载功能

    今天小编就为大家分享一篇关于Java自带定时任务ScheduledThreadPoolExecutor实现定时器和延时加载功能,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

    java定时器(定时任务)

    - 通过实现此接口的类,如 `ScheduledThreadPoolExecutor`,可以创建一个线程池,用于执行定时任务。 - `ScheduledExecutorService` 提供了多个方法来安排任务,例如 `schedule(Runnable command, long delay, ...

    Spring 异步多线程动态任务处理的使用心得

    要启用异步任务,我们需要在配置类上添加`@EnableAsync`注解,并配置一个TaskExecutor。TaskExecutor可以是简单的ThreadPoolTaskExecutor,也可以是更高级的如ScheduledThreadPoolExecutor,用于定时任务。配置示例...

    Java并发编程之美_部分81

    在Java中,TimerTask是一个常用的定时器组件,但是它有一个致命的缺陷,那就是当任务在执行过程中抛出InterruptedException之外的异常时,唯一的消费线程就会因为抛出异常而终止,那么队列里的其他待执行的任务就会...

    定时的爱-完成定时任务的加载和发送

    创建一个`ScheduledThreadPoolExecutor`实例,然后使用`schedule()`或`scheduleAtFixedRate()`方法来调度任务。示例: ```java ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); ...

    javaweb 定时器工程

    ScheduledThreadPoolExecutor是Java并发包`java.util.concurrent`中的一个类,它是ThreadPoolExecutor的子类,增加了对定时及周期性任务的支持。相比于Quartz,ScheduledThreadPoolExecutor更加轻量级,适用于简单或...

    java 手术任务(线程池)

    在Java编程中,线程池是一种管理线程的机制,它可以帮助我们更有效地调度和执行并发任务。线程池的概念源自于并发编程领域,通过合理地复用已创建的线程,可以避免频繁创建和销毁线程带来的开销,从而提高系统性能。...

    java自带的四种线程池.doc

    这意味着所有任务都在同一个线程中执行,保证了执行顺序,按照任务的提交顺序依次执行。 - 它内部包装了一个`FinalizableDelegatedExecutorService`,使得线程池一旦创建,就不能再修改其参数,确保了线程池的单一...

    yyblog-master.zip

    4. **Spring框架的定时任务**: Spring提供了一种更面向切面的方式来处理定时任务,使用`@Scheduled`注解可以直接在方法上声明一个任务为定时任务,简化了配置和代码编写。Spring Boot项目中,通过`@EnableScheduling...

    顶层接口Executors详解

    Java线程的创建与销毁需要一定的开销,如果我们为每一个任务创建一个新线程来执行,这些线程的创建与销毁将消耗大量的计算资源。同时,为每一个任务创建一个新线程来执行,这种策略可能会使处于高负荷状态的应用最终...

    Java实现终止线程池中正在运行的定时任务

    Java中实现终止线程池中正在运行的定时任务是Java多线程编程中一个常见的问题。本篇文章将详细介绍如何实现终止线程池中正在运行的定时任务,并提供相应的代码示例。 首先,需要了解Java中的线程池是什么。Java通过...

Global site tag (gtag.js) - Google Analytics