Mutexes

wrapped the shared resources (scenario queue, results and errors list) in a mutex to prevent race conditions