RPC 与多线程¶
约 261 个字 预计阅读时间 1 分钟
There is no association in the language between the lock and any variables.
在编程语言中,锁与任何变量都没有关联。

这样可以把 u 作为副本变量存起来,方便函数内部进行调用。防止另一个线程对 u 进行修改。
GFS¶
当Primary要求Secondary追加数据时,直到Primary确信所有的Secondary都能执行数据追加之前,Secondary必须小心不要将数据暴露给读请求。所以对于写请求,你或许需要多个阶段。
- 在第一个阶段,Primary向Secondary发请求,要求其执行某个操作,并等待Secondary回复说能否完成该操作,这时Secondary并不实际执行操作。
- 在第二个阶段,如果所有Secondary都回复说可以执行该操作,这时Primary才会说,好的,所有Secondary执行刚刚你们回复可以执行的那个操作。这是现实世界中很多强一致系统的工作方式,这被称为两阶段提交(Two-phase commit)。
Created:
June 27, 2025
Last update: June 27, 2025
Last update: June 27, 2025
Discussion