Skip to content
HomeVideosBooks
AllTopicsTrends
BlogsPodcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    Cover of Seven Concurrency Models In Seven Weeks

    Seven Concurrency Models In Seven Weeks

    Paul Butcher · 2014

    Offers information on how to exploit the parallel architectures in a computer's GPU to improve code performance, scalability, and resilience.

    ProgrammingSystems & OSComputer Science
    Open LibraryAmazon
    Stats for nerds
    10recommend
    15mentions
    14people
    2014–2025years
    67% recommend33% neutral

    Mentions per year

    2014201620182020202220242025

    What Hacker News says

    1. llamavoreJul 2025
      Great article, the previous related one goes into a lot more detail on some of pythons different concurrency implementation details: https://lucumr.pocoo.org/2024/11/18/threads-beat-async-await...

      Something which would be immensely helpful for the community is to create a test suite of pathological problems with existing python concurrency patterns and libraries.

      At that point it should just be a matter of time before the right implementation and PEP(s) can be iterated on that solves said problems while maximizing for devex.

      For anyone interested in learning more about different concurrency models I can highly recommend Paul Butcher's: Seven Concurrency Models in Seven Weeks.

      thread
    2. yingw787Jun 2019
      Hey thanks for commenting!

      This is mostly an academic exercise for me personally. I’m not familiar with different concurrency models as I’m starting off in my career and don’t get a whole lot of exposure to it in production. I was inspired by Paul Butcher’s book on seven concurrency models in seven weeks, where we actually does solve problems with different concurrency models in languages that have good support for them. So I thought if I could write down my thoughts and explain it to other people I will have gained some sticky understanding for me.

      I think Paul took a year or more in order to research and write his book, and it shows. Conversely it shows how my posts are sort of link aggregations because this series has taken about two months so far. Python’s also not terribly great for CPU-bound concurrency work in Python code.

      As to your points, I saw MPI and async await as primitive constructs on top of which you could build something like CSP. Not all software is portable; one example, if you want MKL acceleration in numpy, you have to use Intel CPUs.

      The next blog post I’m writing I’m writing about is hardware-based parallelism. IMHO this is Python’s bread and butter, and I should be able to demonstrate how Python comes in handy with code samples.

      thread
    3. znpyMar 2019
      Seven Concurrency Models in Seven Weeks: https://pragprog.com/book/pb7con/seven-concurrency-models-in...
      thread
    4. li4ickFeb 2019
      For those of you who want to test multiple concurrency models, I can highly recommend Seven Concurrency Models in Seven Weeks from Pragmatic.
      thread
    5. the2bearsJun 2018
      I had a similar experience.

      After ~18 years of Java I was feeling very burnt out. Initially it was the concurrency model and how it was being widely used. This itself drove me to find alternatives.

      I started off knowing that Go, Scala, and Clojure (among others) offered cleaner abstractions on this. I figured I'd learn them a little and see where that took me - Seven Concurrency Models in Seven Weeks was the book I first looked at.

      It honestly didn't take long, but something with Clojure just clicked with me. Concurrency aside, the REPL experience and immutable data grabbed me and said "Keep learning this language!"

      So I took an old game that I'd done in Java (with OpenGL bindings) and started rewriting it in Clojure. Loved the experience and kept working on any problems I could find to try out the functional approaches I was learning.

      The punch-line is I fell in love with programming again. I was able to find my passion, to realize again why I went into this field. Slowly turned the career direction and now work full time with Clojure.

      thread
    6. dmlorenzettiOct 2017
      You might try "Seven Concurrency Models in Seven Weeks" for a high-level overview of different approaches.

      https://pragprog.com/book/pb7con/seven-concurrency-models-in...

      thread

    Related

    Cover of Java Concurrency in Practice
    2009–2026

    Java Concurrency in Practice

    Brian Goetz
    53 recommend · 82
    Understanding Software DynamicsRichard Sites
    2021–2025

    Understanding Software Dynamics

    Richard Sites
    6 recommend · 8
    Cover of C Concurrency in Action
    2012–2025

    C Concurrency in Action

    Anthony Williams
    14 recommend · 24
    Cover of Concurrency in Go
    2017–2024

    Concurrency in Go

    Katherine Cox-Buday
    3 recommend · 5
    Cover of Code Complete
    2007–2026

    Code Complete

    Steve McConnell
    393 recommend · 894
    Cover of Concurrent programming on Windows
    2010–2021

    Concurrent programming on Windows

    Joe Duffy
    4 recommend · 4
    Cover of Concurrent Programming in Java
    2008–2023

    Concurrent Programming in Java

    Doug Lea
    recommend · 5
    1
    Cover of Communicating sequential processes
    2009–2026

    Communicating sequential processes

    C. A. R. Hoare
    25 recommend · 73