Before Nilanjan replies with a more expert view, here's a couple of starting points. Scala uses an "Actor"-based approach to concurrency, which provides a higher level of abstraction than threads and spares you all the details of locking, synchronisation etc. The
Akka library provides an event-driven framework for concurrency based on Actors, and is available for both Scala and Java. Combining this with a more functional approach to programming is seen as a way to implement robust and maintainable concurrent functionality more easily.