Jevgeni Kabanov

QCon London 2008: Concurrency past and present

March 14th, 2008 | by Jevgeni Kabanov |

Brian Goetz gives a talk on different approaches to concurrency in programming languages.

Starts by incrementally introducing race conditions, synchronization and deadlocks. Hasn’t mentioned lock starvation and mentioned volatile only once. Eventually gets to a point that OO encourages hiding implementation details, whereas for concurrency you need to know them. This makes threads clash with OO (doh!). Still a bit softcore for my taste.

Brings in the STM. It’s implemented by Azul in hardware (they have committable cache memory) and, of course, optimistic rollback is much much faster than pessimistic locking. Transactional memory is a cool thing, but in a side-effect language everything cannot be rolled back so easily.

Finished with a quick overview of other concurrency techniques, last is Actors. In the end no actual info on what could go into the language, just a brief overview of the approaches.

blog comments powered by Disqus