MIT6.824(2020)学习笔记,Lecture 2 - RPC和线程。
1. 背景
MIT6.824(2020)学习,本篇继续学习:Lecture 2 - RPC和线程。
说明:本博客作为个人学习实践笔记,可供参考但非系统教程,可能存在错误或遗漏,欢迎指正。若需系统学习,建议参考原链接。
2. Why Go
课程选择Go
来完成实验,并做了一些和其他语言(主要是C++
)的对比,说明了当前为什么选择Go
(课程之前也用过C++
,也能得出满意的结果)。
- 提供了便利的特性,尤其是多线程:语言层面支持
线程(goroutine)
和管道(channel
),对线程间的加锁
、同步
支持良好。 - 方便的
RPC
包(相对C++方便很多) - Go是类型安全、内存安全的,有垃圾回收机制
- 相对于C++的编译错误信息,Go的编译提示明确得多
3. 线程(Threads)
线程为什么这么重要?因为他是我们控制并发
的主要手段,而并发是构成分布式系统的基础。
Go 的使用暂时先放一下。
4. 小结
6.824第二节:RPC和线程学习。