Reading 14: Concurrency
Concurrency means multiple computations are happening at the same time. Concurrency is everywhere in modern programming, whether we like it or not: In fact, concurrency is essential in modern programming: Being able to program with concurrency will still be important in the future. Processor clock speeds are no longer increasing. Instead, we’re getting more cores with each new generation of chips. So in the future, in order to get a computation to run faster, we’ll have to split up a computation into concurrent pieces. There are two common models for concurrent programming: shared memory and message passing. Shared memory. In the shared memory model of concurrency, concurrent modules interact by reading and writing shared objects in memory. In the figure at right, A and B are concurrent modules, with access to the same shared memory space. The blue objects are private to A or B (only one module can access it), but the orange object is shared by both A and B (both modules have a referen
Reading 14: Concurrency Reading 14: Concurrency Software in 6.102 Safe from bugs Easy to understand Ready for change Correct today and correct in the unknown future. Communicating clearly with future programmers, including future you. Designed to accommodate change without rewriting. Objectives The message passing and shared memory models of concurrency Concurrent processes and threads, and time slicing The danger of race conditions Concurrency Concurrency means multiple computations are happening at the same time. Concurrency is everywhere in modern programming, whether we like it or not: Mul
Explore this link on the map →saved by
related reading
- Reading 18: Message-Passing and Networkingweb.mit.edu
- Reading 16: Mutual Exclusionweb.mit.edu
- Reading 15: Promisesweb.mit.edu
- Concurrent computing - Wikipediaen.wikipedia.org
- Understanding and expressing scalable concurrencyaturon.github.io
- Multi Core Programming and Threadsimomath.com
- Fearless Concurrency - The Rust Programming Languagedoc.rust-lang.org
- Multithreading (computer architecture) - Wikipediaen.wikipedia.org
- Processes and Threads — PlanetScaleplanetscale.com
- Notes on structured concurrency, or: Go statement considered harmful - njs blogvorpus.org
- The Hitchhiker's Guide to Concurrency | Learn You Some Erlang for Great Good!learnyousomeerlang.com
- research!rsc: Hardware Memory Models (Memory Models, Part 1)research.swtch.com