Jeff Magee and Jeff Kramer. Concurrency: State Models and Java Programs. Wiley. 1999.