- Mastering Concurrency in Python
- Quan Nguyen
- 280字
- 2021-06-10 19:23:54
A quick metaphor
Concurrency is a quite difficult concept to fully grasp immediately, so let's consider a quick metaphor, in order to make concurrency and its differences from parallelism easier to understand.
Although some neuroscientists might disagree, let's briefly assume that different parts of the human brain are responsible for performing separate, exclusive body part actions and activities. For example, the left hemisphere of the brain controls the right side of the body, and hence, the right hand (and vice versa); or, one part of the brain might be responsible for writing, while another solely processes speaking.
Now, let's consider the first example, specifically. If you want to move your left hand, the right side of your brain (and only the right side) has to process that command to move, which means that the left side of your brain is free to process other information. So, it is possible to move and use the left and right hands at the same time, in order to do different things. Similarly, it is possible to be writing and talking at the same time.
That is parallelism: where different processes don't interact with, and are independent of, each other. Remember that concurrency is not quite like parallelism. Even though there are instances where processes are executed together, concurrency also involves sharing the same resources. If parallelism is similar to using your left and right hands for independent tasks at the same time, concurrency can be associated with juggling, where the two hands perform different tasks simultaneously, but they also interact with the same object (in this case, the juggling balls), and some form of coordination between the two hands is therefore required.
- arc42 by Example
- Reactive Programming with Swift
- Java面向對象程序開發及實戰
- Java EE 7 Development with NetBeans 8
- RISC-V體系結構編程與實踐(第2版)
- 從Java到Web程序設計教程
- 后臺開發:核心技術與應用實踐
- Python預測分析與機器學習
- Mastering OpenStack
- Getting Started with hapi.js
- Java編程指南:語法基礎、面向對象、函數式編程與項目實戰
- 美麗洞察力:從化妝品行業看顧客需求洞察
- 城市信息模型平臺頂層設計與實踐
- 從零開始學UI設計·基礎篇
- Building an E-Commerce Application with MEAN