这几天学习了一些线程函数的使用方法,我主要用到的是_beginthreadex,CreateMutex,ReleaseMutex,WaitForSingleObject函数
1.将类的方法作为线程函数
不能将类的非静态方法做为线程函数,因为作为参数传进去时带有this指针.解决方法是将函数声明为static或友元函数,然后通过参数把类的对象传进去
2.在栈上创建的变量系统会自动回收,这样在创建线程类对象时一定要保证它不能先于线程执行完之前释放.如下面的代码是错误的
void threadTest(){
threadClass tc;
tc.startANewThread();
}
在函数hreadTest 调用结束之后tc将会被回收,导致内存问题.