多线程服务器编程[4]-C++多线程系统编程精要
线程原语的选用
不直接使用Pthreads,而是使用更为易用的wrapper,封装下面的调用
- 线程的创建和等待结束
- mutex的创建、销毁、加锁、解锁
- 条件变量的创建、销毁、等待、通知、广播
- ThreadPool
- CountDownLatch
- BlockingQueue (有界/无界)
- ...
iostream不是线程安全的
线程的标识符推荐使用gettid系统调用,它的类型是pid_t,并且是唯一的
__thread是GCC内置的线程局部存储设施,效率高,但注意初始化只能使用编译器常量
每个文件描述符只由一个线程操作
RAII封装文件描述符
不要使用多线程+fork
不要使用多线程+signal
推荐阅读
- 放屁有这三个特征的,请注意啦!这说明你的身体毒素太多
- 爱就是希望你好好活着
- 昨夜小楼听风
- 知识
- 死结。
- 我从来不做坏事
- 烦恼和幸福
- 关于QueryWrapper|关于QueryWrapper,实现MybatisPlus多表关联查询方式
- Linux下面如何查看tomcat已经使用多少线程
- 说得清,说不清