1. 线程池
- 生产者消费者
- 任务队列
- 互斥访问临界资源
- 互斥锁
- 条件变量
2. 死锁
* 死锁的排查
- 查看进程CPU利用率,内存利用率(先使用命令ps aux | grep 获取进程的进程号, 然后查看cpu,内存使用率top -Hp [进程号])
- 若发现进程所占用的CPU和内存资源都很低,则是有可能发生的死锁,进而导致阻塞
- 此时若是在生产环境下,则可尝试查看日志,使用gdb attach “进程号”(要切换到root用户下执行)
- thread apply all bt
- info threads
- thread 线程号
- bt
3. 迭代器失效
- 对容器进行插入(扩容),删除操作时可能会导致迭代器的失效