当前位置: 技术问答>linux和unix
在类里封装线程的问题
来源: 互联网 发布时间:2015-06-12
本文导语: 我想将写log的线程封装在一个类里面: class CLog { ... int initialize(); static void * printThread (void *arg); int writeLog(); ... } 这样,只须在主程序里定义一个CLog对象,就可以使用这个类的功能。 线程函...
我想将写log的线程封装在一个类里面:
class CLog
{
...
int initialize();
static void * printThread (void *arg);
int writeLog();
...
}
这样,只须在主程序里定义一个CLog对象,就可以使用这个类的功能。
线程函数printThread不得不声明为static类型,以避免编译器给它添加一个默认的this指针参数。但这样的话,printThread用到的所有成员变量也不得不定义为static类型。这显得挺难看。
有什么更好的办法吗吗?谢谢
class CLog
{
...
int initialize();
static void * printThread (void *arg);
int writeLog();
...
}
这样,只须在主程序里定义一个CLog对象,就可以使用这个类的功能。
线程函数printThread不得不声明为static类型,以避免编译器给它添加一个默认的this指针参数。但这样的话,printThread用到的所有成员变量也不得不定义为static类型。这显得挺难看。
有什么更好的办法吗吗?谢谢
|
用arg传递this指针啊。