有没有办法用GPars运行延迟或计划任务?

时间:2015-03-16 20:37:36

标签: groovy scheduled-tasks gpars

我正在GPars库上构建并发应用程序。 它包含一个线程池,所以我想通过这个池来解决所有与并发相关的任务。

我需要以一定的延迟(例如30秒)运行任务。我也想定期运行一些任务。

有没有办法用GPars实现这些功能?

1 个答案:

答案 0 :(得分:0)

Thread.sleep延迟和Quartz进行日程安排怎么样?我知道有明显的选择,但我没有看到使用它们有什么问题。

我的意思是将GPars与一些更高阶的闭包混合,例如:

@Grab(group='org.codehaus.gpars', module='gpars', version='1.2.1')

def delayDecorator = {closure, delay ->
    return {params ->
        Thread.sleep (delay)
        closure.call (params)
    }
}

groovyx.gpars.GParsPool.withPool() {
    def closures = [{println it},{println it + 1}], delay = 1000
    closures.collect(delayDecorator.rcurry(delay)).eachParallel {it (1)}
}