spade-0.2.0.0: samples/concurrency.spd
proc thread1(r)
for i = 1 to 10000
let rv = readref(r)
writeref(r, (rv + 1))
endfor
endproc
loop
let ref = newref(0)
let t = startthread(thread1, ref)
let t2 = startthread(thread1, ref)
let t3 = startthread(thread1, ref)
let t4 = startthread(thread1, ref)
await(t)
await(t2)
await(t3)
await(t4)
println(readref(ref))
endloop
waitforkey()