This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
View analytic
Saturday, April 18 • 16:40 - 17:30
Comparing different concurrency models on the JVM

Sign up or log in to save this to your schedule and see who's attending!

For many years threads and locks have been the only concurrency model available on the JVM and they are still the default way to develop parallel and concurrent programs in Java. Nevertheless in many cases they are a too low level abstraction: using them correctly is hard and understanding the Java Memory Model even harder. For this reason different alternative concurrency models have been popularized in recent years. Scala and Akka made available on the JVM the actor-based model originally implemented in Erlang. Conversely Clojure's approach clearly separates an identity from the series of different values associated to it over time introducing the concept of Software Transactional Memory. Finally functional programming principles like immutability and referential transparency greatly simplify concurrent programming in many cases and this caused a FP renaissance as also witnessed by the introduction of lambda expressions in Java 8. The purpose of this talk is comparing all these different concurrency models underlining their strengths and weaknesses and giving some guidelines to choose the one that best fit a specific scenario.

avatar for Mario Fusco

Mario Fusco

Drools core developer, Red Hat
Mario is a senior software engineer at Red Hat working at the development of the core of Drools, the JBoss rule engine. He has a huge experience as Java developer having been involved in (and often leading) many enterprise level projects in several industries ranging from media companies to the financial sector. Among his interests there are also functional programming and Domain Specific Languages. By leveraging these 2 passions he also... Read More →

Saturday April 18, 2015 16:40 - 17:30
Room B1 Palazzo dei Congressi, Lugano, Switzerland

Attendees (17)