进度最后一个lab
实现 :
- MapReduce
- 键值服务
- raft共识算法
做实验时需要仔细阅读相关论文,和相关实验提供的暗示,完成了这些在测试的时候就不会有太大的bug
了。
需要注意的时,实验是并发的,调试起来,使用日志输出比较好。
在遇到一个问题时,如果程序长时间卡住,很有可能是程序中的锁的问题,或者管道的问题。
使用日志进行调试的时候,要想明白自己要通过日志获取什么信息或者想要验证什么,在合适的位置进行打印相关信息,同时一次不要打印太多信息(人脑受不了)。
加锁并不意味着并发安全,因为并发问题会***钻的出现在你以为的顺序执行中。