昨晚听完百度校园公开课,还得了个保温杯,好开心.
现在把抄到的笔记整理下,东西不会很详细,但足够引出很多知识点
感谢运维部的颜工来湖大讲课!
1 环游linux
一些常用的linux命令: ssh cd pwd ls tab mkdir rm cp mv cat more less
文本处理:head tail cat sort diff grep sed awk
重定向: | > >>
其它: alias find scp wget ps top vmstat netstat watch
vim
gcc 版本我特意问了 ,原来他们部门在用3.4.5版本
gcc常见错误:
underfind reference 找不到库 -l库名 -L库目录
no such file or directory 找不到头文件 -I 头文件路径 (i的大写)
项目管理工具: Makefile 还有开源的Autoconf 百度的Commake
常用开发工具: valgrind strace Ltrace ccov Gtest
2 多线程
多线程:共享内存空间
优点:数据访问方便 缺点:线程问题会影响整体,线程安全问题
多进程:独立内存空间
线程切换有开销
开几个线程的要点:线程数不要超过CPU个数
线程安全问题:线程调度的先后是由操作系统决定的,和代码复杂度无关
互斥与同步: (1)访问同一个资源,使用互斥锁程序的串行 (2)使用条件变量保持同步
开销: 锁比运算要慢,但比磁盘IO要快
锁的使用原则:
IO密集型程序: