2020MIT 6.824分布式系统笔记(二)

2021-01-30  本文已影响0人  加油11dd23

一、go特点

(1)reason for using multi spread to program

discussion
event driven programming(异步)
trigger -> thread
process vs thread address space
线程切换

(2)spread challenges

  1. lock
  2. not share data
    mvlock variable
    mv.Unblock

discussion
1.有些指令是atom 有些指令不是
32bit storm -> atomic
microprocessor不一定是atomic
2.private lock
map 内部有一个私有锁
多余的锁开销
两个锁会造成死锁,private不能解决思索

  1. channel
  2. condition variable sync.cond
  3. waitGroup

二、go语言编程实例 --- 爬虫

串行代码


image.png

并行代码共享内存


image.png

并行代码channel(channel可以当作一个队列)


image.png
上一篇下一篇

猜你喜欢

热点阅读