→ cities516: 我記得multi thread跟multi process鎖法剛好相反 09/26 18:14
→ cities516: 一個是一邊跑另一邊鎖 另一個是兩邊一起跑 09/26 18:14
→ sustainer123: py thread有gil鎖 只要用cpython都會這樣 09/26 18:15
→ sustainer123: multi thread實際上只會跑一個 09/26 18:16
→ sustainer123: 我有看到加c的擴充處理這問題 但好麻煩 09/26 18:16
→ sustainer123: 另一種就Coroutine+multi processㄅ 09/26 18:17
肥肥也沒很熟
單純是以前修Distributed Systems時有碰過
但是已經記憶久遠了 技術生疏 搞不好講的內容都是錯的
py裡的multi thread 就像sus大師說的
因為每個線程共用記憶體 所以需要上鎖控制 acquire和release
遇到網路I/O類型的任務 就會用到
multi process的話
則是 大型任務拆分
像是matrix A * matrix B
實際上可以拆解成好幾個小A和小B互乘之後 再結合起來就好
然後我稍微查了一下
py內建的multiprocessing似乎不會用到map跟reduce
不過map reduce是甚麼我也忘了
就像去超商當條碼師不需要學微積分一樣