新手求教MFC线程问题

lhw7791086 2012-12-28 10:39:36
新学MFC 线程,有很多不明之处,求大神解答:

在类外用

UINT MyThreadName(LPVOID lpParam)

{

//线程要实现的功能

retrn 0;

}

定义一个线程。

然后在某些事件(如的单击按钮)或成员函数中来执行该线程函数:

void CXXXDlg::OnButton()

{

//其他语句...

CWinThread* pThread=AfxBeginThread((AFX_THREADPROC)MyThreadName,NULL);

//其他语句...

}

我想问的是:

1.一旦执行了线程函数,是否成员函数和线程函数就同时一块执行了?还是说以很快的速度在成员函数和线程函数之间跳转着执行?这样是否会出现某些问题?(因为某些语句执行顺序不定)

2.我想实现如下功能:

某成员函数中:

其他语句

......

执行线程函数--》跳转到线程函数,待线程执行完毕后,跳转回来

继续执行成员函数剩下的部分(相当于主线程暂停了,跳转回来后再继续运行)

......

其他语句

请教如何实现?
...全文
82 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
傻X 2012-12-28
  • 打赏
  • 举报
回复
InitInstance可以认为是入口,真正的主函数应该是封装掉了。
lhw7791086 2012-12-28
  • 打赏
  • 举报
回复
引用 1 楼 tiger9991 的回复:
1.两边一起并行,因此如果有资源调用问题,需要自己用内核对象(Event,Mutex,Semaphore来互斥) 2.在问题1已经说了,需要使用互斥的内核对象来搞定 简单教程
再请教下:在C中,main()函数式主线程,在里面可以调用线程函数。那么在MFC中主线程是哪个呢?是调用该线程的成员函数吗?
傻X 2012-12-28
  • 打赏
  • 举报
回复
1.两边一起并行,因此如果有资源调用问题,需要自己用内核对象(Event,Mutex,Semaphore来互斥) 2.在问题1已经说了,需要使用互斥的内核对象来搞定 简单教程
向立天 2012-12-28
  • 打赏
  • 举报
回复
引用 2 楼 lhw7791086 的回复:
引用 1 楼 tiger9991 的回复:1.两边一起并行,因此如果有资源调用问题,需要自己用内核对象(Event,Mutex,Semaphore来互斥) 2.在问题1已经说了,需要使用互斥的内核对象来搞定 简单教程 再请教下:在C中,main()函数式主线程,在里面可以调用线程函数。那么在MFC中主线程是哪个呢?是调用该线程的成员函数吗? ……
WinMain

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧