在类中使用线程,应该将类的方法作为线程函数,不能将类的非静态方法做为线程函数,因为作为参数传进去时带有this指针。解决方法是将函数声明为static或友元函数,然后通过参数把类的对象传进去。
线程是windows系统提供的概念,类是C++提供的概念,两者之间没有必然的联系。
线程执行的对象是一个函数(线程函数),这个函数可以是全局函数 (就是在类外),也可以是类的成员函数(就是在类内)。
使用类的成员函数作为线程函数必须要把这个成员函数声明为static,否则无法编译通过。
另外,如果要访问类的private成员变量和函数,建议使用类的static成员函数作为线程函数。