The document discusses various concurrency models including shared state concurrency, message passing concurrency using actors, and software transactional memory. Shared state concurrency uses locking to synchronize access to shared resources but is prone to issues like race conditions and deadlocks. Message passing concurrency avoids these issues by isolating actors and having them communicate as
![The Actor Model - Towards Better Concurrency](https://cdn-ak-scissors.b.st-hatena.com/image/square/9ff8ef4db8759d1e625951245c59221e045dec96/height=288;version=1;width=512/https%3A%2F%2Fcdn.slidesharecdn.com%2Fss_thumbnails%2Ftheactormodel-towardsbetterconcurrency-100117032144-phpapp01-thumbnail.jpg%3Fwidth%3D640%26height%3D640%26fit%3Dbounds)