Multithreading Groovy GPAR如何按线程数/计数休眠线程?

Multithreading Groovy GPAR如何按线程数/计数休眠线程?,multithreading,grails,groovy,gpars,Multithreading,Grails,Groovy,Gpars,我目前有一个GPAR问题,我想启动大约30个线程,但我想在每个线程启动后等待1秒 我的代码目前看起来像这样(Groovy/Grails): withPool(30){///Hmmm,我不是GPars专家,但我不认为这是GPars的问题。创建一个线程都调用的同步函数来找出它们的延迟是什么,怎么样 private static delaycount = 1; public synchronized int getMyDelay() { return delaycount++; } 并将代码更

我目前有一个GPAR问题,我想启动大约30个线程,但我想在每个线程启动后等待1秒

我的代码目前看起来像这样(Groovy/Grails):


withPool(30){///Hmmm,我不是GPars专家,但我不认为这是GPars的问题。创建一个线程都调用的同步函数来找出它们的延迟是什么,怎么样

private static delaycount = 1;
public synchronized int getMyDelay() {
   return delaycount++;
}
并将代码更改为:

int mydelay = getMyDelay()
sleep(mydelay*1000)
def doSomething = new Test()
doSomething.do(mail) // <= runs for about 60sec
int mydelay=getMyDelay()
睡眠(mydelay*1000)
def剂量测定=新试验()

doSomething.do(mail)/或使用原子整数

当然,如果延迟很重要,不要依赖于index的值,i应该用于枚举线程

我也不认为30个线程会停下来互相等待 新线程将继续生成,只要n个线程有效:),我对java/groovy非常陌生,甚至不知道有类似于同步函数的东西
int mydelay = getMyDelay()
sleep(mydelay*1000)
def doSomething = new Test()
doSomething.do(mail) // <= runs for about 60sec