Running multithreaded example groovy


#!/bin/env groovy

def MAX_THREADS = 24
class MyThread extends Thread {

private i ;

public MyThread( int code ) {
this.i = code;
}
public void run() {
def rand = new java.util.Random()
sleep(1 + rand.nextInt(2000) );
println "HELLO " + i
}
}

println " Started "
def Thread[] results = new Thread[MAX_THREADS]
for ( int i = 0 ; i < MAX_THREADS ; i++ ) {
println "Started thread " + i
results[i] = new MyThread(i);
results[i].start()
}
for (int i = 0; i < results.length; i++) {
try {
results[i].join();
} catch (InterruptedException ignore) {}
}
println "Done ... "
Advertisements