成员函数线程适配器
摘要:
有时候,由于设计上的需要,我们通常要把一个类成员函数以线程方式启动,而最常见的实现方式有两种:1.直接把成员函数声明为静态,使得CreateThread等函数可以直接调用;2.声明一个静态成员函数,作为代理,在内部在调用类的非静态成员函数。 这两种方法只是单单为了实现目的而出现的,优点几乎没有,但缺点却显而易见:对于方法1,在静态成员函数内肯定会出现强制类型转换得到pThis,然后一堆堆的pThis->XXX;对于方法2,作为代理的静态成员函数没有复用性,如果新设计一个线程,又要再写一个代理函数,重复劳动。 而另一个可以接受的方案是编写一个线程基类,提供一个类似run的虚函数,派生类实现 阅读全文
posted @ 2011-04-22 16:45 rickerliang 阅读(596) 评论(0) 推荐(0) 编辑