Why Concurrency and Object-Oriented model don't play along well with each other
Here is a nice 1h presentation on Concurrency and Concurrent Programs by Brian Goetz:
It explains very well the basics (threads, deadlocks, race-conditions) and the common problems in multi-threaded systems, with some specifics when using Object-Oriented approaches.
Check at the 28 minute mark for the part of why doing concurrency with OO is a pain.
For those of you who are too lazy, here is a screenshot:
On the same topic, you can check this cool chat with Joe Armstrong: