最近花了不少時間在研究 Python concurrency。但大概是以前 OS 沒學好,發現自己對 non-blocking I/O 跟 I/O multiplexing 之類的東西都不是很熟悉。雖然看來都不是太難理解的概念,但在釐清背景知識時還是花了不少時間。為了避免我過一陣子又忘記了,便趁著我記憶還清楚的時候,把我好不容易學會的粗淺知識整理下來。雖然我已經盡可能地多參考一些資料,但由於內容有許多我原本不會或是不熟的東西,如果有任何寫得不正確的部分,還煩請各位不吝指正。 Example: Echo Server 為了方便解釋,就用一個簡單的 echo server 作為例子吧。 首先是