Skip to content
HomeVideos
AllLongsCategoriesPlaylists
BooksBlogsPodcasts
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

    Concurrency is not Parallelism by Rob Pike

    gnbitcom

    4 HN recommenders · recommended in 6 months, 2021–2025

    YouTube

    31:23 · 191K views · Nov 11, 2015

    Rob Pike's Go talk distinguishing concurrency, the structuring of independent processes, from parallelism, their simultaneous execution. It uses Go channels and goroutines to illustrate.

    The standard link for explaining the concurrency versus parallelism distinction and the motivations behind Go's concurrency model.

    Software Engineering & LanguagesC, C++, Rust, Go & systems languagesSoftware architecture & design
    1. 51:27
      Google I/O 2012 - Go Concurrency PatternsGoogle for Developers894K views • 14 years ago
    2. 51:18
      Lexical Scanning in Go - Rob PikeGoogleFOSSSydney162K views • 15 years ago
    3. 38:19
      Origins of Go Concurrency style by Rob Pikejasonofthel33t28K views • 14 years ago
    4. 23:57
      GopherCon 2016: The Design of the Go Assembler - Rob PikeGopher Academy116K views • 10 years ago
    5. 23:12
      dotGo 2015 - Rob Pike - Simplicity is Complicateddotconferences172K views • 10 years ago
    6. 22:29
      Gopherfest 2015 | Go Proverbs with Rob PikeThe Go Programming Language317K views • 10 years ago
    7. 1:13:53
      Raymond Hettinger, Keynote on Concurrency, PyBay 2017SF Python161K views • 9 years ago
    8. 52:54
      Rust at speed — building a fast concurrent databaseJon Gjengset225K views • 7 years ago
    9. 1:00:40
      Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrencyHydra47K views • 7 years ago
    10. 12:31
      OSCON 2010: Rob Pike, "Public Static Void"O'Reilly119K views • 16 years ago
    11. 59:26
      The Go Programming LanguageGoogle TechTalks406K views • 16 years ago
    12. 2:32:39
      Clojure Concurrency - Rich HickeyClojureTV73K views • 13 years ago
    13. 58:08
      Parallelism, Concurrency, and Asynchrony in Perl 6 / Jonathan Worthingtonyapcasia6K views • 11 years ago
    14. 48:46
      Rust's Journey to Async/AwaitInfoQ90K views • 6 years ago
    15. 1:06:45
      Let's #TalkConcurrency Panel Discussion with Sir Tony Hoare, Joe Armstrong, and Carl HewittErlang Solutions13K views • 7 years ago
    16. 1:07:00
      Sydney Golang Meetup - Rob Pike - Go 2 Draft SpecificationsMacquarie Group57K views • 7 years ago
    17. 1:09:38
      "How to Think about Parallel Programming: Not!" - Guy L. Steele Jr. (Strange Loop 2010)Strange Loop Conference9.3K views • 5 years ago
    18. 56:36
      GopherCon 2014 Opening Keynote by Rob PikeConfreaks38K views • 12 years ago
    19. 32:17
      Nathaniel J. Smith - Trio: Async concurrency for mere mortals - PyCon 2018PyCon 201830K views • 8 years ago
    20. 32:24
      RustLatam 2019 - Without Boats: Zero-Cost Async IORust Programming Language55K views • 7 years ago

    6 comments from Hacker News

    1. @dupedSep 2024· in “Understanding Concurrency, Parallelism and JavaScript”

      If you prefer to learn by video, here's an excellent talk on the same subject by Rob Pike that I link all the time to people this video

      Strongly recommendsView on HN
    2. @merbJun 2021· in “Althttpd: Simple webserver in a single C file”

      yeah, basically. a lot of people do not know, but async/await does have NOTHING do to with threads or processes. you can use threads with async/await, but you do not. async/await basically means you are running your "green threads"/tasks/promises on a event loop, the event loop can be either single threaded or it can run the stuff on multiple threads. a lot of people just did not get the difference between concurrency vs. parallelism. threads and processes are basically parallelism, while concurrency is async programming. good talk about that stuff from rob pike (go): this video

      RecommendsView on HN
    3. @cratermoonOct 2022· in “Ask HN: Kubernetes Worth It?”

      Anyone that can wrap their mind around the model of Communicating Sequential Processes[1] implemented using channels in Go will improve their programming. See also Concurrency is not Parallelism by Rob Pike: this video After I figured it out, I spent a good month writing personal projects to play with channels and concurrency and get the "these are cool I'm going to use them everywhere" urge out of my system. 1 [LINK]

      RecommendsView on HN
    4. @auxiliarymooseDec 2025· in “Thoughts on Go vs. Rust vs. Zig”

      Agreed. Rob Pike presented a good talk "Concurrency is not Parallelism" which explains the motivations behind Go's concurrency model: this video Between the lack of "colored functions" and the simplicity of communicating with channels, I keep surprising myself with how (relatively) quick and easy it is to develop concurrent systems with correct behavior in Go.

      RecommendsView on HN
    5. @dupedDec 2021· in “Async I/O for Dummies (2018)”

      As with all benchmarks, benchmark your workload. The tech empower stuff is gamed, like all rankings. But first and foremost, concurrency is not parallelism [1]. In my practical experience dealing with both, asycn is a language semantic for concurrency, threads are an OS feature for parallelism. It's a little nonsensical to ask the pros/cons since they are different entirely ; you can use both at the same time (and in practice most async implementations use threads) [1] this video "Concurrency is not Parallelism" talk by Rob Pike.

      CitesView on HN