Lock-free Parallel Computing Using Theatre