线程的使用准则:
在声明线程局部对象和变量时必须遵守下列准则:
1、您可以只将 thread 特性应用于数据声明和定义以及不包含成员函数的类;thread 不能用于函数声明或定义。
2、使用 thread 特性可能会影响 DLL 导入的延迟加载。
3、只能在具有静态存储持续时间的数据项上指定 thread 特性。 这包括全局数据对象(static 和 extern)、本地静态对象和类的静态数据成员。 不能声明带 thread 特性的自动数据对象。
4、必须为线程本地对象的声明和定义使用 thread 特性,无论声明和定义是在同一文件中还是单独的文件中发生。
5、无法将 thread 特性用作类型修饰符。
6、仅可使用 __declspec(thread) 实例化 POD 类。 如果未将任何对象声明为类声明的一部分,则 thread 特性将被忽略。
例如:// declspec_thread.cpp
// compile with: /LD
__declspec(thread) class X
{
public:
int I;
} x; // x is a thread object
X y; // y is not a thread object
|