How good is simultaneously? Within a second of each other? It is unreasonable to expect they all start during the same CPU cycle.
Thread::Barrier looks like as good a tool for the job as any. However, in my experience, getting deterministic behaviour out of threads is like herding cats.
module.