`
xitong
  • 浏览: 6206683 次
文章分类
社区版块
存档分类
最新评论

定时任务的线程的取消

 
阅读更多

定时任务通过time.schedule()方法,创建了很多后台线程,但是这么多的线程很容易出问题,有些,我们不想它一直循环下去,但是我们又不能cancel掉Timer类time,因为同一时间,一个time可能同时创建了很多线程,有些线程循环执行,当线程没有结束掉后直接结束time会抛出异常,那么又如何结束完成使命的但是有循环着的线程呢,可能是大家的方法跟我不同,没有遇见过,或者说不会涉及到在timer的循环中套用循环,所以就不会涉及到结束内循环的问题,所以在网上搜了好久没发现,亦或是自己搜索的关键字不对,总之,在网上没找到方法,通过

用Thread.interrupt();方法去发现直接吧服务器都关了。

用System.exit(0);同上的效果

但是总感觉应该和this有关,后来在内循环调用的功能方法里面的Run函数中添加了this.cancel();成功结束了符合条件的线程。



分享到:
评论

相关推荐

    Quartz调度、终止执行的任务

    使用Quartz调度任务,根据需要人为的终止某个任务,适用于很多常见的场景

    线程超时死掉

    InterruptedException 线程被中断异常, ExecutionException任务执行异常,如果任务被取消,还会抛出CancellationException V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException,...

    定时结束进程 v1.25.zip

    9.添加定时任务之前请勿修改窗口句柄,进程ID,进程路径,进程名,线程ID。 10.慎重添加系统进程。 11.如果同时选中“任务全部完成后关闭程序”和“任务全部完成后关机”,会跳过“任务全部完成后关闭程序”,执行...

    开源调度框架dolphinscheduler,2台机器上运行的任务无法立即停止,另外1台机器运行的任务可以立即停止

    4. 问题定位:打印3台机器的worker进程dump信息,发现215、216机器上,处理停止任务的线程发生了 一直 waiting 状态,找到 5. 解决方案:去掉processUtils.killYarnJob逻辑(hive、spark客户端执行,只需kill 本地...

    c/c++用一个源文件,一个头文件实现的 优先队列定时器 源码,包含测试代码,可运行

    2、qtimer.cpp中会创建一个优先队列来管理定时任务,一个set来管理分配出去的定时器id,一个定时器的work线程; 3、队列有加锁保护,是线程安全的; 4、定时器添加一次只会执行一次,要循环执行,需要在回调函数里...

    Java 7并发编程实战手册

    7.6 定制运行在定时线程池中的任务 259 7.7 通过实现ThreadFactory接口为Fork/Join框架生成定制线程 267 7.8 定制运行在Fork/Join框架中的任务 273 7.9 实现定制Lock类 278 7.10 实现基于优先级的传输...

    Java并发编程(学习笔记).xmind

    如果这时候队列满了,而且正在运行的线程数量小于 maximumPoolSize,那么还是要创建线程运行这个任务 threadFactory 创建线程的工厂 handler 拒绝策略 unit 是一个枚举,表示 ...

    Java并发编程实战

    6.1.2 显式地为任务创建线程94 6.1.3 无限制创建线程的不足95 6.2 Executor框架96 6.2.1 示例:基于Executor的Web服务器97 6.2.2 执行策略98 6.2.3 线程池98 6.2.4 Executor的生命周期99 6.2.5 延迟任务与...

    Visual C++程序开发范例宝典 - 第6章

    实例214 取消磁盘共享 实例215 格式化磁盘 6.3 桌面相关 实例216 隐藏、显示开始按钮 实例217 隐藏、显示桌面文件 实例218 隐藏、显示Windows任务栏 实例219 随机修改系统桌面背景 实例220 抓取桌面 6.4 系统相关 ...

    CLR.via.C#.(中文第3版)(自制详细书签)Part1

    · 使用线程池、任务、取消、计时器和异步I/O操作来设计响应性强、稳定性高和伸缩性大的解决方案 · 借助于异常处理来进行状态管理 · 使用CLR寄宿、AppDomain、程序集加载、反射和C#的dynamic类型来构造具有动态...

    CLR.via.C#.(中文第3版)(自制详细书签)

    · 使用线程池、任务、取消、计时器和异步I/O操作来设计响应性强、稳定性高和伸缩性大的解决方案 · 借助于异常处理来进行状态管理 · 使用CLR寄宿、AppDomain、程序集加载、反射和C#的dynamic类型来构造具有动态...

    CLR.via.C#.(中文第3版)(自制详细书签)Part3

    · 使用线程池、任务、取消、计时器和异步I/O操作来设计响应性强、稳定性高和伸缩性大的解决方案 · 借助于异常处理来进行状态管理 · 使用CLR寄宿、AppDomain、程序集加载、反射和C#的dynamic类型来构造具有动态...

    CLR.via.C#.(中文第3版)(自制详细书签)Part2

    · 使用线程池、任务、取消、计时器和异步I/O操作来设计响应性强、稳定性高和伸缩性大的解决方案 · 借助于异常处理来进行状态管理 · 使用CLR寄宿、AppDomain、程序集加载、反射和C#的dynamic类型来构造具有动态...

    PETimer:AC#计时器工具

    定时任务可循环,可替换,可取消。可使用独立线程计时(自定义设置检测间隔),也可以使用外部驱动计时,可以使用MonoBehaviour中的Update()函数来驱动。 3.集成简单:只有一个PETimer.cs文件,只需实例化一个...

    notes-learning-java-concurrency:java 并发学习笔记

    5.任务异步返回结果和取消关闭。以前的线程实现都是没有返回值的,但java5中,有返回值的线程是如何实现的呢? 6.显式锁。协调共享对象访问,在java5以前用synchronized实现,现在可以用Lock显式的lock()和unlock(),...

    LiveEventBus:EventBus for Android,消息总线,基于LiveData,具有生命周期感知能力,支持Sticky,支持AndroidX,支持跨进程,支持跨APP

    消息随时订阅,自动取消订阅 告别消息总线造成的内存泄漏 告别生命周期造成的崩溃 范围全覆盖的消息总线解决方案 进程内消息发送 App内,跨进程消息发送 App之间的消息发送 更多特性支持 免配置直接使用,...

    LanHelper 1.89 破解

    LanHelper(中文名:局域网助手)是局域网辅助性工具,具有快速扫描网络,网络唤醒,远程关机或远程重启和取消关机(不需要客户端),发送消息 ,检测在线主机等功能和特点,并使用了多线程,XML等技术。 【软件功能】...

    python入门到高级全栈工程师培训 第3期 附课件代码

    04 线程的调用以及join方法 05 setDaemon方法和继承式调用.baiduyun.downloading 05 setDaemon方法和继承式调用 第34章 01 上节知识回顾 02 并发并行与同步异步的概念 03 GIL的概念 04 同步锁 05 递归锁 06 同步...

    精易模块[源码] V5.15

    10、新增“窗口_取消尺寸限制”,取消窗口尺寸限制。 效验MD5:51A332F5AB071957FEF39209FD240CB6 精易模块 V3.85 what’s new:(20140916) 1、改善“文件_取文件名”与“目录_取尾部目录名或文件名”取出路后带...

    Python定时器线程池原理详解

    定时器执行循环任务: 知识储备 Timer(interval, function, args=None, kwargs=None) interval ===》 时间间隔 单位为s function ===》 定制执行的函数 使用threading的 Timer 类 start() 为通用的开始执行...

Global site tag (gtag.js) - Google Analytics