工作线程AfxBeginThread的使用
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
工作线程通常用来执行一些后台任务,如:数据计算、后台杀毒等等。因为不需要创建窗口和处理用户消息,编写比较容易,在程序中只要调用AfxBeginThread函数就可以创建并启动一个工作线程了。
AfxBeginThread的原型如下:
AFX_THREADPROC pfnThreadProc, //指向控制函数的地址
LPVOID pParam, //指向传递给控制函数的参数
int nPriority /* = THREAD_PRIORITY_NORMAL */, //指定线程的优先级
UINT nStackSize /* = 0 */, //指定堆栈大小
DWORD dwCreateFlags /* = 0 */, //创建标识
LPSECURITY_ATTRIBUTES lpSecurityAttrs /* = NULL */ //安全属性
)
从上面参数可以看到,只有前两个参数是必须的,其余参数都使用默认的话,就可创建了一个具有普通优先级别的线程。
示例:编写一个应用程序,当在程序窗口按下鼠标左键,启动一个线程,该线程可以在屏幕上显示一个信息框。
1.新建单文档程序;
2.在视图类CPP文件添加一个准备作为线程的函数:
{
LPTSTR pMessage = (LPTSTR)pParam;
CWnd *pMainWnd = AfxGetMainWnd();
::MessageBox(pMainWnd->m_hWnd, pMessage, _T("Thread Message"), MB_OK);
return 0;
}
3.在视图类的鼠标左键消息响应函数中创建和启动线程:
{
AfxBeginThread(MessageThread, _T("Greetings from your thread!"));
CView::OnLButtonDown(nFlags, point);
}
程序运行结果:
给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow
![](/assets/blank.gif)
工作线程AfxBeginThread的使用相关推荐
- MFC多线程的创建,包括工作线程和用户界面线程
MFC多线程的创建 1.MFC多线程简介 MFC对多线程进行了一层简单的封装,在Visual C++中每个线程都是从CWinThread类继承而来的.每一个应用程序的执行都有一个主线程,这个主线程也是 ...
- VC++中多线程学习(MFC多线程)一(线程的创建、线程函数如何调用类成员呢?如何调用主对话框的成员?、MFC中的工作线程和界面线程的区别)
这里废话不多讲了,因为项目原因,需要开启线程进行处理,在不了解线程的情况下,直接百度一下,然后就使用了,结果可想而知,出现了异常,所以花了一天时间系统学习一下多线程,这里主要是针对win32编程方面的 ...
- Win32:MessageBox、AfxMessageBox、及工作线程中的对话框
首先我们要清晰一点,同样是线程,但创建线程方式不同,由于创建线程的内部实现不同,也就意味着对后期影响是不一样的. 三种创建线程的方式 C语言的:__beginthread()/__beginthrea ...
- 技术派-在工作线程与UI线程中创建对话框
目录 UI线程创建方式 头文件模板 实现代码模板 工作线程的创建方式 工作线程的线程模板 对话框头文件模板 对话框实现部分 我们在工作中,经常需要在新线程里面创建对话框,要么是在工作线程里面创建对话框 ...
- HDFS源码分析心跳汇报之BPServiceActor工作线程运行流程
在<HDFS源码分析心跳汇报之数据结构初始化>一文中,我们了解到HDFS心跳相关的BlockPoolManager.BPOfferService.BPServiceActor三者之间的关系 ...
- 多工作线程获取工作队列简单实现
以下是APUE线程章节中,简单实现多工作线程获取工作队列源码! #include <stdio.h> #include <stdlib.h> #include <stri ...
- IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的...
IIS连接数 一般购买过虚拟主机的朋友都熟悉购买时,会限制IIS连接数,这边先从普通不懂代码用户角度理解IIS连接数 顾名思义即为IIS服务器可以同时容纳客户请求的最高连接数,准确的说应该叫" ...
- IIS连接数、IIS并发连接数、IIS最大并发工作线程数、应用程序池的队列长度、应用程序池的......
IIS连接数 一般购买过虚拟主机的朋友都熟悉购买时,会限制IIS连接数,这边先从普通不懂代码用户角度理解IIS连接数 顾名思义即为IIS服务器可以同时容纳客户请求的最高连接数,准确的说应该叫" ...
- Mirror--镜像使用的工作线程数
/* 在SQL SERVER 2005 及以后版本中, 使用'MAXworker thread' 来配置 可用的线程数,默认设置为0 ,即自动控制线程数 计算最大工作线程数: 对于32 位系统 ...
最新文章
- enote笔记语言(2)(ver0.3)
- 【THML】兴唐第二十八节课 几个小程序
- linux 查看 文档 不显示注释 命令
- 5 月书讯 | 程序员的历史课,是时候补补了
- VC++中使用MFC通过ADO连接数据库
- python爬虫(五)_urllib2:urlerror和httperror
- 行代码入门python_新浪微博Android客户端开发视频教程(36讲)
- 如何安装nginx_lua_module模块
- c#获取对象的唯一标识_DDD领域驱动设计实战 - 创建实体身份标识的常用策略
- python做饼图出现重影_Matplotlib 绘制饼图解决文字重叠的方法
- C# list导出Excel(二)
- 一套代码在不同的电脑执行快慢_电脑如何选配之硬盘篇
- ZooKeeper(3.4.5) - 原生 API 的简单示例
- Python入门到精通(一):入门必备知识
- 集成电路设计的运作模式
- t3软件怎么生成报表_用友t3财务报表生成的步骤和流程
- 高中计算机excelppt,高一信息技术 4.2利用Excel表格处理个人财务教案.doc
- 五个高效的工作方式,提高你的工作效率
- thinkpadt410接口介绍_联想t410配置参数详解
- 爱荷华州立大学计算机学院,爱荷华州立大学最新qs世界排名
热门文章
- MacOSX系统下HomeBrew安装指定版本的软件 IntelliJ IDEA 设置多个Go语言版本开发
- Dynamics 365中的应用程序介绍
- 04737 c++ 自学考试2019版 第四章课后练习 	程序设计题 2
- 【Python爬虫】存储格式化数据
- C#LeetCode刷题之#20-有效的括号(Valid Parentheses)
- f2fs 设置stripe_欧洲如何在PSD2下使用Stripe实现3DS2的SCA合规性
- kubernetes_Kubernetes领域的标准安全性。
- ruby on rails_如何在Ruby on Rails应用中用Vue.js替换jQuery
- VS2103没有“dirent.h”文件
- 使用 simiki 搭建个人 wiki(简易的博客)