go并发实战,第一天
大部分本书第一章节是来介绍go语言基础的,其实如果你不是大师,只是一个才起飞的菜鸟,建议不要跳过喔!
为什么不要跳过?因为每个人对语言的认知是不一样的,看看别人是怎么理解一个新事物。对于计算机学习者来说,不需要花里胡哨,要打好基础,勤于思考和动手实践!!!!!!!!!!!
第一章:初始go语言(复习)
第二章:go语法(复习)
第三章:并发编程综述
第四章:go的并发机制
第五章:同步(操作系统知识复习)
第六章:爬虫实战
末章:学习资源推荐
第一章:
这个go项目的文件我觉得有必要了解一下,以前还得配环境,先在不需要了。
以前就要把项目放src目录下,特别麻烦。
第一章就讲了怎么安装go,怎么配置环境,怎么导入包,常用的go命令(go命令没有必要记住,多敲敲就会了)
第二章:
这几个内建函数用得少
例如:
对于一个复数z := complex(x, y),可以通过Go语言的内置函数real(z)来获得该复数的实部,也就是 x;通过imag(z)获得该复数的虚部,也就是 y。
Recover是一个Go语言的内建函数,可以让进入宕机流程中的goroutine恢复过来。recover仅在延迟函数defer中有效。在正常的执行过程中,调用recover会返回nil并且没有其他任何效果。如果当前的goroutine陷入恐慌,调用recover可以捕获到panic的输入值,并且恢复正常的执行。
流程控制 (和并发相关的知识点)
第三章:
并不是并发数越多越好!
串行和并发(很是奇怪,学操作系统原理的时候,居然没听说过串行?)
什么是并发?什么是并行?(这个和我之前读的一本书说的不一样,但是这个解释是出自操作系统原理)
并发与并行是两个既相似但是却不相同的概念:
并发性:又称共行性,是指处理多个同时性活动的能力,。
并行:指同时发生两个并发事件,具有并发的含义。并发不一定并行,也可以说并发事件之间不一定要同一时刻发生。
并发的实质是一个物理CPU(也可以是多个物理CPU)在若干个程序之间多路复用,并发性是对有限物理资源强制行使 多用户共享以提高效率。
并行指两个或两个以上事件或活动在同一时刻发生,在多道程序环境下,并行使多个程序同一时刻可在不同CPU上同时执行。
并发是在同一个cpu上同时(不是真正的同时,而是看来是同时,因为CPU要在多个程序之间切换)运行多个程序。
并行是每一个CPU运行一个程序。
并发是指一个处理器同时处理多个任务。
并行是指多个处理器或者是多核的处理器同时处理多个不同的任务。
并发是逻辑上的同时发生(simultaneous),而并行是物理上的同时发生。
打个比方:并发就像一个人(CPU)喂两个小孩(程序)吃饭,表面上是两个小孩在吃饭,实际是一个人在喂。
并行就是两个人喂两个小孩子吃饭。
进程的5个状态: