写线程我想每人不会吧,我只是谈谈我自己的经验
首先一定不要使用beginthread,其次最好也不使用CreateThread,看MSDN讲最好用_beginthread或者_beginthreadex
写线程函数,我个人的经验是把线程函数写在类里,而且写出protected成员函数,而不是写成一个单独的函数,原因是:
1。线程函数一般都是和类有关系
2。写成类的函数,这样在线程函数里就可以调用类的成员变量。如果写成一个单独的函数,就不能直接调用类的私有成员变量了
3。写成protected成员函数,可以供继承类调用
另外我想大家写线程的参数传递方法都差不多,就是把类的指针传进去
有时候我们需要传递其他的值,这时候我习惯是在cpp文件中定义一个全局的类指针,在线程函数里直接使用
首先一定不要使用beginthread,其次最好也不使用CreateThread,看MSDN讲最好用_beginthread或者_beginthreadex
写线程函数,我个人的经验是把线程函数写在类里,而且写出protected成员函数,而不是写成一个单独的函数,原因是:
1。线程函数一般都是和类有关系
2。写成类的函数,这样在线程函数里就可以调用类的成员变量。如果写成一个单独的函数,就不能直接调用类的私有成员变量了
3。写成protected成员函数,可以供继承类调用
另外我想大家写线程的参数传递方法都差不多,就是把类的指针传进去
有时候我们需要传递其他的值,这时候我习惯是在cpp文件中定义一个全局的类指针,在线程函数里直接使用