1.p280
muduo::Thread thread(threadFunc); thread.start(); //这种实例化的方式,可能是内部调用了std::thread() //补充:是这样的 使用了匿名函数执行
std::thread有默认构造函数,所以我们可以写匿名函数来进行thread调用
2.与其他库集成,p271
resolve()里面并没有指定addr,为什么在resolveCallback里能拿到addr
gethostbyname //linux函数,man可以查到
//在linux下,先后输入 sudo apt-get install libc-ares-dev sudo apt-get install libc-ares2 //再次编译,则可以通过
四个步骤,runAfter注册定时器回调
3. handle/body 模式
抽象类和具体类的实现分离
4.状态机模式
5.weak_ptr的两个功能
1.监听: 2.弱回调:
6.lock free:就是使用atomic
7.p29
可变参数实现一对多回调
8.p38
gdb ./xxx core,thread apply all bt等获取调用栈 //这命令不死锁没啥用,bt调用栈的意思
https://www.cnblogs.com/charlesblc/p/6256912.html
9.p40
条件变量的使用方式
10.pthread_barrier
11.ptmalloc3
12.printf()线程安全,但是阻塞
cout线程不安全,因为是链式调用
//另一本书
13.sendfile(),tee()函数零拷贝技术
14.解析http请求



