The more I write concurrent applications the more I hate it. Typically you end up having a code full of locks, queues, threads and threadpools where it is from difficult to impossible to know if it is correct or it only apparently works.
Because of that I decided to do a little research on the Actor Pattern that apparently is powering frameworks like Erlang making it a very good solution for highly concurrent communication platfomrs (like Facebook Chat or WhatsApp).
These are the slides I prepared, there is no much explanation on them, so feel free to ask me any question and try it! The Actor Model is fun and will simplify your life no matter if you use a framework for it or just keep in mind the concept in your future designs.