首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >在MFC下面实际演示CCriticalSection 的使用

在MFC下面实际演示CCriticalSection 的使用

作者头像
全栈程序员站长
发布2022-09-06 16:44:29
发布2022-09-06 16:44:29
75200
代码可运行
举报
运行总次数:0
代码可运行

大家好,又见面了,我是你们的朋友全栈君。

Q:CCriticalSection是什么?

A:CCriticalSection是一种线程同步策略 或者说技术 或者方法 总之呢就是这么个意思。。。。

参考资料:

http://blog.csdn.net/akof1314/article/details/5773076

http://www.cnblogs.com/hlxs/archive/2013/03/31/2991752.html

http://baike.baidu.com/view/2471016.htm

第一步:打开VS2010 创建一个单文档MFC程序。并运行 确定创建过程OK

第二步:在视图类头文件里面添加头文件#include “afxmt.h”

并在视图类的实现文件里面实例化一个CCriticalSection对象。

特别说明这个对象不属于视图类,此处是将其定义为一个全局变量。

代码语言:javascript
代码运行次数:0
运行
复制
	CCriticalSection Gsz_CriticalSection;

第三步:在视图里的实现文件里面 定义这两个函数。这两个函数带回会被指定为线程函数。这两个函数不是视图类的成员函数。

代码语言:javascript
代码运行次数:0
运行
复制
UINT  MessageThread1(LPVOID pParam) 
{ 
	Gsz_CriticalSection.Lock(); 
	LPTSTR pMessage = _T("Thread1 is started"); 
      //AfxGetMainWnd函数获取MFC程序中的主框架类指针是一个常用作法
	CWnd *pMainWnd = AfxGetMainWnd(); 
	::MessageBox(pMainWnd->m_hWnd, pMessage, _T("Thread message"), MB_OK); 
	Gsz_CriticalSection.Unlock(); 
	return 0; 
} 
UINT  MessageThread2(LPVOID pParam) 
{ 
	Gsz_CriticalSection.Lock(); 
	LPTSTR pMessage = _T("Thread2 is started"); 
代码语言:javascript
代码运行次数:0
运行
复制
//AfxGetMainWnd函数获取MFC程序中的主框架类指针是一个常用作法
代码语言:javascript
代码运行次数:0
运行
复制
CWnd *pMainWnd = AfxGetMainWnd();
 ::MessageBox(pMainWnd->m_hWnd, pMessage, _T("Thread message"), MB_OK); 
Gsz_CriticalSection.Unlock(); 
return 0; 
}

第四步:给视图类的添加 鼠标左键消息响应函数 函数编写如下:

注意这个需要点击如下所示,找个 左键响应函数。

void CTestGszView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: 在此添加消息处理程序代码和/或调用默认值 AfxBeginThread(MessageThread1, _T(“Thread is started”)); //启动线程1 AfxBeginThread(MessageThread2, _T(“Thread is started”)); //启动线程2

CView::OnLButtonDown(nFlags, point); }

第五步:运行测试。

点击视图区域

出现下面的东东

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/154895.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档