关于c++:多线程服务器编程4C多线程系统编程精要

6次阅读

共计 349 个字符,预计需要花费 1 分钟才能阅读完成。

线程原语的选用

不间接应用 Pthreads,而是应用更为易用的 wrapper,封装上面的调用

  • 线程的创立和期待完结
  • mutex 的创立、销毁、加锁、解锁
  • 条件变量的创立、销毁、期待、告诉、播送

在这些 wrapper 之上进一步构建线程同步组件

  • ThreadPool
  • CountDownLatch
  • BlockingQueue (有界 / 无界)

多线程编程须要留神的中央

C++ 规范库容器和 std::string 都不是线程平安的
iostream 不是线程平安的
线程的标识符举荐应用 gettid 零碎调用,它的类型是 pid_t,并且是惟一的
__thread 是 GCC 内置的线程部分存储设施,效率高,但留神初始化只能应用编译器常量
每个文件描述符只由一个线程操作
RAII 封装文件描述符
不要应用多线程 +fork
不要应用多线程 +signal

正文完
 0