Synchronizing access to shared data structures is a diicult problem for simulation programs. Frequently , synchronizing operations within and between simulation steps substantially curtails parallelism. This paper presents a general technique for performing this synchronization while sustaining parallelism. The technique combines ne-grained, exclusive locks with futures, a write-once data struc...