ARTS 挑战打卡第五周(200608-200614)
Algorthm
https://leetcode.com/problems/binary-search-tree-iterator/
思路:树的遍历,还是用树的遍历框架,遍历结点和左右子树。
https://leetcode.com/problems/kth-largest-element-in-an-array/
思路:快速选择算法,参考快排算法
Review
文章链接:https://muratbuffalo.blogspot.com/2020/06/learning-about-distributed-systems.html
很赞的一篇文章,相当于指明了一幅寻宝图的起点,介绍如何开始学习分布式系统,记录几点摘要:
入门分布式系统至少要三个月,之后需要很长时间去加深这部分的能力
不鼓励通过看某些概念或算法的实现代码来学习分布式系统,因为代码都是大同小异,结构都很类似,通过代码会让自己进入了一个熟悉的领域,带着原来的思路去学习,应该把分布式系统当作一个全新的领域来学习。
先读完这本《Introduction to Distributed Systems》,里面介绍了分布式系统领域的概念和相关主题
使用 TLA+(一种正式的规范语言。它用于设计,建模,记录和验证程序,尤其是并发系统和分布式系统。)来练习算法
学习分布式系统中的 impossibility results,即证明某项事情的不可能的,分布式系统中两个最重要的 impossibility results,网络协同攻击和 FLP。
文章又推荐了一次马丁大神的《数据密集型系统设计》,这本书我读过一遍,简直是大开眼界,值得再次拜读。还有其他的学习链接都在文章里面有,这里不一一列举了。
Tip
进程和线程的区别
从学术上理解,进程就是包含上下文切换的程序执行时间总和 = CPU 加载上下文+CPU 执行+CPU 保存上下文,线程就是 CPU 执行那一部分的一个个小段。
进程和线程都是一个时间段的描述,是 CPU 工作时间段的描述,不过是颗粒大小不同。
另一种简单的理解:
1. 进程:程序的一次执行
2. 线程:CPU 的基本调度单位
Share
blog-使用拦截器统一处理异常
参考链接:
线程和进程的区别是什么?
https://www.zhihu.com/question/25532384
原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。
如果本文对你有帮助,请点个赞吧,谢谢
版权声明: 本文为 InfoQ 作者【老胡爱分享】的原创文章。
原文链接:【http://xie.infoq.cn/article/448789c8bd1a1c6520d3dbef4】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论