InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Presentation: Concurrency: Past and Present

Posted by Ryan Slobojan on Sep 22, 2008

Sections
Development,
Architecture & Design
Topics
Programming ,
Java
Tags
QCon ,
QCon London 2008 ,
Erlang ,
Threading ,
Concurrency ,
Scala

In this presentation from QCon London 2008, Brian Goetz discusses the difficulties of creating multithreaded programs correctly, incorrect synchronization, race conditions, deadlock, Software Transactional Memory, the history of concurrency, alternatives to threads, Erlang, Scala, and recommendations for concurrency in Java.

Watch Concurrency: Past and Present (60 minutes).

Peter Pilgrim, who attended this talk, said:

Brian Goetz does NOT expect people to dump Java and move to JKOCaml, Erlang or other model any time soon.
He promotes "Immutable object where you can". Surprise, surprise. Sometimes it cheaper to make a copy than it is to share. Copying an immutable object is always thread safe.

He recommends to take a look at Scala, in particular the Scala Actors library.

Leonid Maslov also added:

The idea behind [Software Transactional Memory] is the following: let the smart-smart-smart and one more again smart JVM handle these difficult problems, let's delegate this to smart folks behind JVM impls. Hmmm. Sounds like a good stuff (at least for me). The problem is: we won't get it soon, soon enough. Research is still done in this area. Possible (mention-worth) solutions: (I really recommend You to watch that f* great presentation)
  • Functional languages like Haskell, Erlang, Scala (Actors? library), JOCaml and so on
  • Not shared state. 
  • Message passing only. Callback mechanisms.

13 comments

Watch Thread Reply

Slow down. by Ashwanth Fernando Posted
Re: Slow down. by Paulo Trecenti Posted
transcripts please! by test freak Posted
Great ! by Dylan Stamat Posted
Great by 许 晓斌 Posted
Cool by Surendran Roundry Posted
Worth it by Umberto Zappia Posted
Message Based Concurrency in Java by Mike Rettig Posted
Leonardinius Daugavpils by Leonid Maslov Posted
Re: Leonardinius Daugavpils by Leonid Maslov Posted
Re: Leonardinius Daugavpils by Stefan Tilkov Posted
Re: Leonardinius Daugavpils by Ryan Slobojan Posted
Re: Leonardinius Daugavpils by Leonid Maslov Posted
  1. Back to top

    Slow down.

    by Ashwanth Fernando

    Brian, please ignore the below statement if you have physical problems with speech, but if you slow down a bit without the "unnnnn unnnnn unnnn ummmmm ummmms", it will be so much better. Your book concurrency in action is phenomenal and a gem in the piles of crap these days. Goes without saying that you are definitely "Doug Lea" material, but it would be great if you could slow down a bit to let us understand a bit from you.

    However, nothing is gonna stop me from reading your books ;-).

  2. Back to top

    Re: Slow down.

    by Paulo Trecenti

    Hi, did you see something about Ada in Adacore.com? Ada is not much better than all these other languages?

  3. Back to top

    transcripts please!

    by test freak

    Hi,
    would it be possible to provide transcripts?

  4. Back to top

    Great !

    by Dylan Stamat

    Fantastic presentation, and I thought the deliveries pace was perfect. Thank you Brian !

  5. Back to top

    Great

    by 许 晓斌

    Really wonderful presentation, thanks

  6. Back to top

    Cool

    by Surendran Roundry

    A cool,informative and a wonderfull presentation,Thank you Brian Goetz.
    I did enjoy the introduction :-)

  7. Back to top

    Worth it

    by Umberto Zappia

    A top notch presentation.

  8. Back to top

    Message Based Concurrency in Java

    by Mike Rettig

    Message based concurrency is also available as a library for plain old Java.




    Jetlang Messaging Library




    Mike Rettig

    Jetlang Developer

  9. Back to top

    Leonardinius Daugavpils

    by Leonid Maslov

    I'm _Leonardinius Daugavpils_ mentioned above. Only, leonardinius is my display name (nickname), and Daugavpils - is the place I come from :D
    This would wonderful if someone would change this to Leonid Maslov. Thanx in advance.
    // If you are not confident about it - try to contact blog owner - leonidms@gmail.com for clarification.

  10. Back to top

    Re: Leonardinius Daugavpils

    by Leonid Maslov

  11. Back to top

    Re: Leonardinius Daugavpils

    by Stefan Tilkov

    Hi Leonid, thanks for letting us know - I've fixed it.

  12. Back to top

    Re: Leonardinius Daugavpils

    by Ryan Slobojan

    Hi Leonid,



    My apologies for the mix-up on that - when I looked at your blog, in the upper right corner I saw:



    leonardinius Daugavpils/Riga, Latvia



    which I interpreted as being your name, with Riga as your hometown.



    Thanks for fixing that Stefan!

  13. Back to top

    Re: Leonardinius Daugavpils

    by Leonid Maslov

    Hi Ryan and Stefan.
    Not a big deal, I really understand the cause of this. Probably I would get it wrong too (it's just this widget, which displays profile info in some weird manner).


    Anyway, thanks a lot for finding that article and mentioning it here.
    Thanks Ryan and Stefan.

Educational Content

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

10 tips on how to prevent business value risk

One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.

Beauty Is in the Eye of the Beholder

Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.

Architecting Visa for Massive Scale and Continuous Innovation

John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.

Max Protect: Scalability and Caching at ESPN.com

Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.

The Seven Deadly Sins of Enterprise Agile Adoption

Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.

Questions for an Enterprise Architect

Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?