On Concurrent Programming door Fred B. Schneider