Concurrency: takes npthreads in ctor