→ 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是什么我也忘了
就像去超商当条码师不需要学微积分一样