Tag: 调度

春季日程安排:@Scheduled与Quartz

我正在阅读有关调度的Spring 3.0文档 。 我倾向于Spring的JobDetailBean Quartz。 不过,@ Scheduled注解吸引了我的眼球。 看来这是另一种使用Spring框架调度任务的方式。 基于文档,Spring提供了三种调度方式: @Scheduled 通过石英 通过JDK定时器 我对JDK Timer没有兴趣。 为什么我应该select@Scheduled over Quartz? (当我提到Quartz时,我的意思是使用Spring的bean封装来实现Quartz)。 假设我的用例足够复杂,我将与第三方Web服务通信以按指定的时间间隔导入和导出数据。

操作系统调度程序如何重新获得CPU的控制权?

我最近开始学习CPU和操作系统是如何工作的,而且我对使用提供多任务操作系统的单CPU机器的操作有些困惑。 因此,假设我的机器只有一个CPU,这意味着在任何时候只有一个进程可以运行。 现在,我只能假定操作系统用来控制访问贵重CPU时间的调度程序也是一个过程。 因此,在这台机器中,用户进程或调度系统进程在任何给定的时间点运行,但不是两者都运行。 所以这是一个问题: 一旦调度程序将CPU的控制权交给另一个进程,又如何重新获得CPU时间来再次运行以执行其调度工作呢? 我的意思是,如果当前正在运行的任何进程没有放弃(产生)CPU,那么调度器本身如何再次运行并确保正确的多任务处理呢? 到目前为止,我一直在想,如果用户进程通过系统调用请求I / O操作,那么在系统调用中,我们可以确保调度器再次分配一些CPU时间。 但我甚至不确定这是否有效。 另一方面,如果用户进程本质上是CPU限制的,那么从这个angular度来看,它可以永远运行,从不让其他进程,甚至是调度器再次运行。 假设一个时间片调度,我不知道如何调度程序可以分割执行另一个进程的时间,甚至没有运行? 我真的很感谢你在这方面可以提供的任何见解或参考。

类布尔到布尔可满足性

我有一些理论/实践问题,我现在还不知道如何pipe理,这里是: 我创build了一个SAT求解器 ,当存在一个SAT求解器时,它可以find一个模型,并且在使用遗传algorithm的情况下,在C中CNF问题不是这样的情况下certificate矛盾。 SAT问题看起来基本上像这样的问题: 我的目标是使用这个求解器在很多不同的NP完成问题中find解决scheme。 基本上,我将不同的问题转化为SAT,用我的求解器解决SAT,然后将解决scheme转化为原始问题可以接受的解决scheme。 我已经成功的N * N数独和N皇后问题,但这里是我的新目标:为了减less课程排课问题,但我不知道如何forms化类调度问题,以便于转换它在SAT之后。 目标显然是在几个月内产生一个这样的时间表的图片: 我发现这个源代码谁能够解决课程安排,但没有任何削减SAT遗憾:/ 我还发现一些关于一般规划的文章(例如http://www.cs.rochester.edu/users/faculty/kautz/papers/kautz-satplan06.pdf )。 但是这篇文章中使用的规划域定义语言对于我来说似乎是相当普遍的,代表了一个类调度问题。 :/ 是否有人有一个想法,如何有效地forms化类调度,以减less到SAT和之后,将SAT解决scheme(如果存在^^)转换为课程表? 我基本上对任何build议都是开放的,现在我不知道如何expression,如何减less问题,如何将SAT解决scheme转换成时间表。 在此先感谢每一位将在我的问题上花费一些时间的人,最好的问候, 后续问题 : 类调度到布尔可满足性[多项式时间减less]第2部分

R在setMethod(或setGeneric)中有太多参数时挂起,

基本上,当setMethod或( setGeneric )中有很多参数时,它的工作速度非常慢。 这里是一个基本的例子: setClassUnion(name = "mNumeric", members = c("missing", "numeric")) setClass(Class = "classA", representation = representation(ID = "character")) setGeneric("foo", function(r, i, …, m = 1, D = 1, U = 999, K = 0.005, E1 = -5, E2 = 5, E3 = 1, E4 = 1, E5 = 1, E6 = 1, A1 = […]

整个一个核心致力于单一过程

在Linux中有没有办法将一个CPU内核分配给特定的进程,并且在这个内核上不应该有任何其他进程或中断处理程序? 我已经阅读了有关Linux 绑定进程使用taskset实用程序的CPU的进程亲和力,但这并不能解决我的问题,因为它只是试图将给定的进程仿射到该核心,但是可能在该核心上安排其他进程 ,这是我想要避免的。 我们应该改变内核代码进行调度吗?

网球比赛安排

数量有限的球员和数量有限的网球场。 每场比赛最多可以有多less场比赛。 没有人rest2轮。 每个人都和其他人玩。 产生尽可能less的轮次的时间表。 (因为每个人之间必须有轮休的规则,所以可以有一轮没有比赛。)5个球员和2个球场的输出可以是: | 1 2 3 4 5 -|——————- 2| 1 – 3| 5 3 – 4| 7 9 1 – 5| 3 7 9 5 – 在这个输出中,列和行是玩家号码,matrix内的数字是这两个玩家竞争的轮数。 问题是find一个algorithm,可以在一个可行的时间更大的情况下做到这一点。 我们被要求在Prolog中这样做,但任何语言的(伪)代码都是有用的。 我的第一个尝试是一个贪婪的algorithm,但是结果太多了。 然后我提出了一个迭代深化的深度优先search,这是我的一个朋友实现的,但是对于7个玩家来说,这个search仍然花费了太多的时间。 (这是从一个旧的考试题目,我没有任何解决scheme。)

如何在一定数量的执行之后停止Runnable计划重复执行

情况 我有一个Runnable。 我有一个类,调度此Runnable使用scheduleWithFixedDelay ScheduledExecutorService执行。 目标 我想要改变这个类来调度Runnable的固定延迟执行, 无论是无限期的, 或者直到它已经运行了一定的次数,取决于传递给构造函数的一些参数。 如果可能,我想使用相同的Runnable,因为它在概念上应该是“运行”的相同的东西。 可能的方法 方法#1 有两个Runnables,一个执行数量(保持计数)后取消计划,另一个不执行: public class MyClass{ private ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); public enum Mode{ INDEFINITE, FIXED_NO_OF_TIMES } public MyClass(Mode mode){ if(mode == Mode.INDEFINITE){ scheduler.scheduleWithFixedDelay(new DoSomethingTask(), 0, 100, TimeUnit.MILLISECONDS); }else if(mode == Mode.FIXED_NO_OF_TIMES){ scheduler.scheduleWithFixedDelay(new DoSomethingNTimesTask(), 0, 100, TimeUnit.MILLISECONDS); } } private class DoSomethingTask implements Runnable{ @Override public […]

ScheduledExecutorServiceexception处理

我使用ScheduledExecutorService定期执行一个方法。 p代码: ScheduledExecutorService scheduler = Executors.newSingleThreadScheduledExecutor(); ScheduledFuture<?> handle = scheduler.scheduleWithFixedDelay(new Runnable() { public void run() { //Do business logic, may Exception occurs } }, 1, 10, TimeUnit.SECONDS); 我的问题: 如何继续调度程序,如果run()抛出exception? 我应该尝试在方法run()捕获所有exception? 或者任何内置的callback方法来处理exception? 谢谢!

如何指导cron每隔一周执行一次工作?

我想通过在每天的特定时间每周二执行的cron来执行一个任务。 每个星期二都很简单: 0 6 * * Tue 但是如何在“每个第二个星期二”(或者如果你更喜欢 – 每隔一周)做到这一点呢? 我不想在自己的脚本中实现任何逻辑,但只保留在cron的定义。

func()和(* this).func()在C ++中的区别

我正在使用C ++编写别人代码,并且发现了一个奇怪的调用函数func() 。 这里是一个例子: if(condition) func(); else (*this).func(); func()和(*this).func()之间有什么区别? 什么情况下调用func()和(*this).func()将执行不同的代码? 在我的情况下, func()不是一个macros。 它是基类中的一个虚函数,在基类和派生类中都有一个实现,没有自由的func() 。 if位于基类中的一个方法中。