线程函数

转载 2007年09月24日 10:25:00
 
在启动一个线程之前,必须为线程编写一个全局的线程函数,这个线程函数接受一个32位的LPVOID作为参数,返回一个UINT
一般来说,C++的类成员函数不能作为线程函数。这是因为在类中定义的成员函数,编译器会给其加上this指针。
如果一定要以类成员函数作为线程函数,通常有如下解决方案:
1)将该成员函数声明为static类型,去掉this指针;
将成员函数声明为静态虽然可以解决作为线程函数的问题,但是它带来了新的问题,那就是static成员函数只能访问static成员。解决此问题的一种途径是可以在调用类静态成员函数(线程函数)时将this指针作为参数传入,并在该线程函数中用强制类型转换将this转换成指向该类的指针,通过该指针访问非静态成员。
2)不定义类成员函数为线程函数,而将线程函数定义为类的友元函数。这样,线程函数也可以有类成员函数同等的权限;
3)可以对非静态成员函数实现回调,并访问非静态成员。
 
 

Linux 线程操作函数技能总结

线程操作函数总结 1、线程创建函数int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, v...
  • shaderdx
  • shaderdx
  • 2016年01月07日 14:16
  • 1661

# 线程安全 & 线程安全函数 & 线程不安全函数

线程安全 & 线程安全函数 & 线程不安全函数  线程安全 就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现...
  • qq_26499321
  • qq_26499321
  • 2017年05月15日 07:12
  • 484

Linux 线程操作函数总结

线程操作函数总结 1、线程创建函数int pthread_create(pthread_t *restrict tidp, const pthread_attr_t *restrict attr, ...
  • yoli_c_world
  • yoli_c_world
  • 2015年08月18日 23:49
  • 2108

线程的入口函数总结

http://blog.csdn.net/aguiwang/article/details/6937243 线程的入口函数种类大致如下:   在C程序当中线程的入口函数就是全局函数,...
  • lw370481
  • lw370481
  • 2013年12月27日 14:02
  • 1621

MFC类成员函数作为线程函数的解决办法

2009-10-04 - [开发语言]版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://efaq.blogbus.com/logs/47605752.htmlWin32 A...
  • onezeros
  • onezeros
  • 2009年12月05日 22:24
  • 4645

VC++多线程函数调用

在VC++中创建线程函数可以用API 或者MFC封装的多线程函数。。      函数原型 MSDN中CreateThread原型: HANDLE CreateThread(   ...
  • daiyutage
  • daiyutage
  • 2013年05月29日 13:59
  • 4286

Windows下多线程相关函数

Windows下多线程相关函数1)创建线程 CreateThreadWINBASEAPI _Ret_maybenull_ HANDLE WINAPI CreateThread( _In_opt...
  • yzhang6_10
  • yzhang6_10
  • 2016年04月14日 10:30
  • 542

类的非静态成员函数作为线程函数

如题,下面是代码. 1 // header.h 2 class A 3 { 4 public: 5 bool StartServer(int port); 6 7 p...
  • qingzai_
  • qingzai_
  • 2016年02月18日 12:08
  • 653

线程类,线程函数的终止

正确终止线程的方法终止线程类//向线程发退出消息,线程类对象执行ExitInstance()在该函数中删除自己申请的堆栈if(m_PwroffInfoRecvThread!=NULL) m_Pwrof...
  • wangandy7811
  • wangandy7811
  • 2009年09月17日 16:21
  • 3799

类成员函数作为线程函数使用

类成员函数作为线程函数使用 C++类成员函数使用时,都会隐式传递一个this指针给该函数,this指针指向该类的对象。函数体可以通过显示调用该指针或直接访问类内成员。 回调函数是用指针来调用的函数,最...
  • xiaominggunchuqu
  • xiaominggunchuqu
  • 2017年01月11日 11:37
  • 3555
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:线程函数
举报原因:
原因补充:

(最多只允许输入30个字)