#!/usr/bin/env ngs { l = Lock() THREADS = 100 ITERATIONS = 100 # Bad implementation i=0 THREADS.ptimes(F() { for(j;ITERATIONS) global i=i+1 }) echo(i) # Good implementation i=0 THREADS.ptimes(F() { for(j;ITERATIONS) l.acquire(F() global i=i+1) }) echo(i) }