两种选择

1 使用pthread_once, once是类的成员变量

单例模式 创建对象_成员变量

只执行一次Create

单例模式 创建对象_局部变量_02

create的作用是创建一个对象

单例模式 创建对象_局部变量_03


2 使用 static lock

如下所示,注意lock必须是static的,否则是局部变量,每个线程都有自己的lock,无法保证只执行一次。

或者lock是类的成员变量也可以。不过是static的更好,表示只在这个函数中使用

单例模式 创建对象_局部变量_04