golo
import java.util.concurrent.Executors
myThreadPool = Executors: newFixedThreadPool(5)
golo
import java.util.concurrent.locks.ReentrantLock
lock = ReentrantLock: new()
lock: lock()
lock: unlock()
golo
import java.util.concurrent.ConcurrentHashMap
map = ConcurrentHashMap: new()
golo
import java.util.concurrent.Executors
import java.util.concurrent.TimeUnit
import java.util.concurrent.locks.ReentrantLock
function printNumbers() {
lock = ReentrantLock: new()
myThreadPool = Executors: newFixedThreadPool(5)
function printNumber(number) {
try {
lock: lock()
println("Number: " + number)
} finally {
lock: unlock()
}
}
for (i = 1; i <= 10; i++) {
printNumber(i)
}
myThreadPool: shutdown()
myThreadPool: awaitTermination(1, TimeUnit: SECONDS)
}
printNumbers()