文章目录
1. 一次性初始化
备注:本博客首次编写于2018-09-09; 2020-05-07对本篇博客的字体进行修改、同时重新排版. 此外, 增加librdkafka中sockem.c文件中使用pthread_once实例.
在 Linux函数列表 中描述了Linux线程中的常用函数,这里详细讲解 pthread_once 函数的功能和使用。
1.1 为何有“一次性初始化概念”出现?
其实在开发中,很多事情都仅仅需要做一次,不管是什么。在主函数中并且在调用任何其他依赖于初始化的事物之前初始化应用是最为容易的,特别是在创建任何线程之前初始化它需要的数据,如 互斥量、条件变量、线程特定数据键等。
1.2 静态初始化变量也很方便,为何 pthread_onc会出现?
Linux线程开发中,通常对于 互斥量、条件变量等都会提供两种初始化方式,分别是动态初始化和静态初始化。如: