Solving concurrency problems with rolling the dice