精华内容
下载资源
问答
  • 但是没成功,于是看日志发现是由于Timer报错了,任务终止了。 然后需要改成在Timer报错的时候还要继续执行任务,于是 catch 里面加代码,但是不是很好。 在网上找到一个 java.util.concurrent....

    在做的热网系统里有几个Timer在定时执行

    但是跑了几个小时后没成功,于是看日志发现是由于Timer报错了,任务就终止了。

    然后需要改成在Timer报错的时候还要继续执行任务,于是 catch 里面加代码,但是不是很好。

    在网上找到一个

    java.util.concurrent.ScheduledExecutorService;

    于是看介绍修改原Timer的代码为:

    public static ScheduledExecutorService executorService = Executors
    		.newScheduledThreadPool(1);
    
    /**
    	 * 1分钟执行一次
    	 */
    	public static void runTimer() {
    		executorService.scheduleAtFixedRate(new Runnable() {
    			@Override
    			public void run() {
    				try {
    					.....				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		}, 0, 60, TimeUnit.SECONDS);
    	}



    注意:必须加上try catch捕获异常后 才能在异常后继续执行下一次任务,不然任务会挂起什么都不做。


    展开全文
  • Timer异常后导致任务终止的解决方法

    千次阅读 2013-01-09 17:46:44
    但是客户反应 某些数据没成功,于是看日志发现是由于Timer报错了,任务终止了。 然后需要改成在Timer报错的时候还要继续执行任务,于是 catch 里面加代码,但是不是很好。 在网上找到一个 java.util....

    给客户做的系统里有几个Timer在定时执行

    但是客户反应 某些数据没成功,于是看日志发现是由于Timer报错了,任务就终止了。

    然后需要改成在Timer报错的时候还要继续执行任务,于是 catch 里面加代码,但是不是很好。

    在网上找到一个

    java.util.concurrent.ScheduledExecutorService;

    于是看介绍修改原Timer的代码为

    public static ScheduledExecutorService executorService = Executors
    		.newScheduledThreadPool(1);
    
    /**
    	 * 1分钟执行一次
    	 */
    	public static void runTimer() {
    		executorService.scheduleAtFixedRate(new Runnable() {
    			@Override
    			public void run() {
    				try {
    					.....				} catch (Exception e) {
    					e.printStackTrace();
    				}
    			}
    		}, 0, 60, TimeUnit.SECONDS);
    	}

    这样就达到了我想要的结果

     

    注意:必须加上try catch捕获异常后 才能在异常后继续执行下一次任务,不然任务会挂起什么都不做。


    展开全文
  • 前面的几个例子中,使用了“退出标志”或Cancelable接口以适当的方式来终止一个任务,但某些情况下任务必须突然结束掉,这样终止任务将会所产生一些问题。举例:模拟计数,公园委员会想要了解每天有多少从通过公园的...

          前面的几个例子中,使用了“退出标志”或Cancelable接口以适当的方式来终止一个任务,但某些情况下任务必须突然结束掉,这样终止任务将会所产生一些问题。

     

    举例:模拟计数,公园委员会想要了解每天有多少从通过公园的 多个 入口进入了。

    首先是一个互斥输出类,避免多个线程输出出现的混乱

     

    模拟程序如下:

     

    输出结果:

    展开全文
  • 终止一个阻塞线程和终止一个非阻塞线程的方式

     

    引起线程变为阻塞状态的原因有:

    1、调用了sleep(),线程进入休眠状态。

    2、调用了wait(),挂起了线程的运行。

    3、线程正在等待某个I/0操作完成(此时中断是不会出现的)。

    4、线程在尝试进入一段被一个互斥锁保护的代码块,而那个互斥锁已经被其他线程获得。

     


    终止一个阻塞线程和终止一个非阻塞线程的方式有很大的不同。

     

    终止一个阻塞线程 通常 的做法是,首先唤醒它,然后按终止一个非阻塞线程的方式来终止,但这样线程会多执行了一些代码。

     

    有时需要在某个线程处于阻塞状态时 立即 终止它。ZThread库使用抛异常的方式来解决立即终止 阻塞 线程。因为从被阻塞的任务中离开时,可能需要销毁与之相关的对象并清理有关资源,正因为这样在run()中间跳出更像是抛出一个异常。在run()函数包含try模块,在响应异常的catch语句中清理有关资源。

     

    interrupt()函数用来给线程设置中断状态,一个使用了中断状态设置的线程,如果已经被阻塞或尝试进行阻塞时将会抛出一个Interrupted_Exception异常。当异常被抛出或调用了intertupted()时,中断状态重新被设置。

     

    中断状态可以通过调用interrupt()进行设置。调用interrupted()来检查中断状态(不仅能告知interrupt()是否被调用,还会清除当前的中断状态,以确保不会两次通知正被中断的任务),interrupted()会用一个Interrupted_Exception异常来通知一个已经阻塞的线程,或用一个成功的返回值来通知一个非阻塞的线程。下面例子显示了当设置中断状态时,run()函数中处理阻塞和非阻塞两种可能性的情况:

     

    为了保证不因退出而出现不一致的状态,所有资源获取都应封装在基于的对象中,以便无论run()如何退出,对象的析构都会被调用。

     

    展开全文
  • 禁止通过任务管理器来终止进程运行,你会发现打开任务管理器后,结束进程 的功能没有了
  • 使用Quartz调度任务,根据需要人为的终止某个任务,适用于很多常见的场景
  • Timer任务定时器如何终止

    万次阅读 2018-06-18 16:41:53
    Timer类的对象有一个方法可以创建定时任务线程schedule(TimerTask task, long delay)但是自己实际操作后,发现程序运行完毕后,并不能终止这个定时任务线程。需要调用timer对象的cancel()方法才可以终止它。所以,在...
  • 关于线程池中终止任务

    千次阅读 2020-04-27 17:22:42
    使用线程池本身删除或终止任务,有一个必须的前提: 任务必须存在于队列之中。 为什么这么说? 是因为我们所谓的“删除任务”是指ThreadPoolExecutor的remove方法: public boolean remove(Runnable task) { ...
  • 禁止用户通过任务管理器终止进程,Hook技术控制
  • Oracle 终止expdp任务

    千次阅读 2019-06-28 10:23:02
    1、expdp执行导出操作,然后按ctr +...这样任务其实并没有停掉,dmp文件数据还在增加 3、查看视图dba_datapump_jobs select job_name,state from dba_datapump_jobs; 4、正确停止expdp导出任务使用stop_job ctr+c 进...
  • scheduleExecutor终止指定任务的方式

    千次阅读 2020-03-02 18:10:29
    使用ScheduledExecutorService.schedule提交任务到执行器定时执行后,我们想在某一特定条件下终止执行器中的某个任务。本文列举2种实现方法。
  • XxlJob终止任务失败 只需在合适的地方加 TimeUnit.SECONDS.sleep(1) 然后捕获异常即可 图片: 带尺寸的图片: 居中的图片: 居中并且带尺寸的图片: 当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。 ...
  • hive执行任务时异常终止原因分析

    千次阅读 2018-01-11 11:14:09
    异常日志如图所示,在执行任务快结束时,任务异常终止了,通过查看xxxx:8088/cluster页面可以发现任务终止 根据日志分析发现,异常原因为:could not find any valid local directory for output,猜测应该...
  • Yarn运行中的任务如何终止

    千次阅读 2021-03-09 19:39:43
    我们的作业是使用yarn来调度的,那么肯定就需要使用相关的命令来进行管理,简单的有查询任务列表和killed某一个正在运行中的任务。 提示:以下是本篇文章正文内容,下面案例可供参考 一、Yarn常用命令 以下是基于...
  • python利用ThreadPoolExecutor实现有任务异常,就终止线程池中的所有剩余任务
  • ctrl+c是终止正在下载的任务 wget -c + URL是继续刚才终止的那个任务
  • 1、在 ASP.NET Core 中使用托管服务实现后台任务 很多时候我们需要给程序添加一些后台任务,帮我处理一些需要定时处理的任务,比如定时发送邮件,定时做一些统计之类的工作,这时候我们可以写一个windows服务来搞定...
  • 根据条件终止调度任务

    千次阅读 2018-07-11 16:50:56
    * ScheduledExecutorService 根据条件终止调度任务 * @author gzn */ public class ScheduleInnerShutdown implements Runnable { @SuppressWarnings("rawtypes") private ConcurrentHashMap, Future> ...
  • 处理定时任务,超时终止方法

    千次阅读 2010-09-19 11:24:04
    实现功能:处理一批任务,如果某个任务的处理时间超过最大处理时间,则终止任务的执行,继续执行下一个任务 实现思路:三线程实现,处理一个任务时,启动一个任务处理线程处理方案,再启动一个定时器线程检测是否...
  • 本篇文章给大家分享了JAVA中实现终止线程池中正在运行的定时任务的具体步骤和方法,有需要的朋友跟着学习下。
  • 提示:使用Cinchoo框架的异步可中止的长期运行任务
  • 终止一个线程中正在执行的任务。 思路: 设置一个标识符,假如是BOOL类型的,当它为NO的时候执行任务,当它变为YES的时候终止执行任务。 代码: 本篇文章到这里就结束了,愿大家加班不多工资多,男同胞都有女...
  • linux 任务管理-后台运行与终止

    千次阅读 2011-04-19 20:08:00
    fg、bg、jobs、&、ctrl + z命令...三、jobs 查看当前有多少在后台运行的命令 jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated,但是如果任务终止了(kill),shell
  • springboot执行完任务后实现终止进程

    千次阅读 2020-01-08 17:17:15
    import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; @Slf4j public class StartupRunner implements Comman...
  • package com.taobao.vcloud.scheduler.job; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.concurrent.Schedule
  • 在程序运行的过程中可以直接按 Ctrl + C 终止运行,或者关闭终端终止运行。 2. 后台运行 2.1 使用 & ./a.out & 运行后: 程序在后台运行,可以在终端输入其它命令,但是结果会输出到终端 使用 Ctrl +...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 264,421
精华内容 105,768
关键字:

任务终止