请教大家一个回调函数的问题

qq_29670983 2016-09-01 04:53:52
最近写了个程序用计时器创建另外的一个线程每隔一秒钟执行一些东西,在回调函数里面怎么样来共享类里面的数据呢?有的语句我想让它只在回调函数里面执行一遍请问要怎么办呢?
...全文
534 点赞 收藏 7
写回复
7 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Eleven 2016-09-02
想办法将相关的参数作为回调函数的参数。或者你定义一个全局的或者static成员,回调函数能够访问到即可。
回复
worldy 2016-09-02
函数被不同的线程调用,就属于不同的线程,只要的是,你必须保证同步,使用临界区同步最简单
回复
夜小白945 2016-09-02
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 void CCashUnitAgeTestDlg::OnOK() { AfxBeginThread(ProcRunThread, (LPVOID)this); // 传入对象指针 } void CCashUnitAgeTestDlg::vShowResult(LPCTSTR p_pcTestInfo) { ...... } UINT ProcRunThread(LPVOID pParam) { // 转换 CCashUnitAgeTestDlg* pDlg = (CCashUnitAgeTestDlg*)pParam; pDlg->vShowResult() }
回复
许文君 2016-09-02
类指针传入,static或者全局的对象
回复
qq_35549593 2016-09-02
共享数据的话只要把数据设置为全局变量就好了,参数传递也可以 只执行一次的话可以设置一个全局变量 比如

int tis=0;//定义全局变量
if(tis==0)
	{
       //你要执行的语句 
	tis++;
	}//放在回调函数中
回复
oyljerry 2016-09-01
把类指针等作为函数参数传递过去
回复
赵4老师 2016-09-01
在类中实现几个接口函数。
回复
相关推荐
发帖
进程/线程/DLL
创建于2007-09-28

1.5w+

社区成员

VC/MFC 进程/线程/DLL
申请成为版主
帖子事件
创建了帖子
2016-09-01 04:53
社区公告
暂无公告