Writing tests to demonstrate actor re-entrance bugs

This is also how I tend to model things. Concurrency is about taking a total ordering of events and finding places to weaken it to a partial ordering without sacrificing the desired results; it's not a coincidence that the lowest level synchronization primitives generally take a "memory ordering" parameter.

4 Likes