相关推荐
-
VC简单的线程池使用实例
1.线程池管理器(ThreadPoolManager):用于创建并管理线程池 2.工作线程(WorkThread): 线程池中线程 3.任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行。 4.任务队列:用于存放没有处理的任务。提供一种缓冲机制。 网上的c/c++线程池多是linux下的,这个是VC6.0的线程池。其涉及的主要文件有:ThreadPoolManage、IThreadExcute、TemporarilyThread、ThreadManage、RegKeyIni。
-
windows下C++多线程学习之一(多线程基础)
作为一个C++程序员,相信大家对多线程都不陌生。最近自己在系统的学习多线程编程,发现了很多曾经没有注意到的东西,系统的整理了一下这些知识。方便自己以后查阅,也希望能够能够方便他人。 一、线程基础 1. 作业—> 进程—> 线程 作业:进程组的概念,将进程添加到一个作业中,能够通过作业内核对象来集中控制,设置一些额外的属性。 进程:一个正在运行的程序实例,由系统用
-
MFC中PeekMessage的使用,非阻塞消息循环
在程序设计的时候经常要进行一个数据循环,比如播放音乐需要循环的向缓冲区里面写入数据,在这个时候比较通用的方法是建立一个线程做事情,但是有时候不想创建多线程就可以使用微软提供的PeekMessage方法,使用起来很简单,如下 while(waveOutUnprepareHeader((HWAVEOUT)hWaveOut, lpWaveHdr, sizeof(WAVEHDR))!= MM...
-
C++ 多线程阻塞 (多线程同步)(MsgWaitForMultipleObjects)
在主线程定要禁止使用waitforsingleobject(),原因是会阻塞主线程的消息循环,所以必须使用另一种 MsgWaitForMultipleObjects,即可以让消息通过,下面就是一个基于MsgWaitForMultipleObjects与Event,实现多线程同步这样。HANDLE g_Handle;//全局的句柄g_Handle=CreateEvent(NULL,FALSE,F
-
MFC MFC中L、_T()、_TEXT()、TEXT()区别
MFC中L、_T()、_TEXT()、TEXT()区别 1、L L"xxx"表示字符串使用Unicode编码。 2、_T()、_TEXT()、TEXT() _T(“xxx”)、_TEXT("xxx")、TEXT("xxx")功能完全相同,兼容Unicode编码和ASCII编码。即如果项目使用Unicode字符集,那么将字符串"xxx"装换为L"xxx";如果项目使用ASCII字符集,那么“...
-
MFC多线程技术
线程状态用类_AFX_THREAD_STATE描述,模块状态用类_AFX_MODULE_STATE描述,模块-线程状态用类_AFX_MODULE_THREAD_STATE描述。在线程执行查找文件任务的时候,如果找到的是目录就将它添加到列表中,若找到的是文件,就用自定义CheckFile函数进行比较,判断是否符合查找条件,若符合就打印出来,显示给用户。在MFC中,一般用全局函数AfxBeginThread()来创建并初始化一个线程的运行,该函数有两种重载形式,分别用于创建工作者线程和用户界面线程。
-
PeekMessage的用法
PeekMessage的确有“让其他线程向此线程SendMessage过来不阻塞的功效”。 默认情况下,每一个消息被返回到应用程序后,PeekMessage和 GetMessage都会把消息和事件从系统队列中删除。然而有些时候,某个应用程序可能需要扫描队列中现存的消息而并不删除它们。例如,某个应用程序在做一些处理过程,这些处理过程期望“一但发现有可用的消息,就尽快终止”。 这里指定PM_NOREM
-
打乒乓程序的PeekMessage版本
今天看到Programming Windows多任务及多线程那章,提到了PeekMessage( )函数,那这个不是正好可以用在打乒乓程序中吗,就不用定时器了,应用PeekMessage( )函数的版本如下:#include #include "resource.h"LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ;void D
-
MFC多线程
目录概述一个简单示例分析参考资料 概述 多线程最适用于多核CPU,如果在单核CPU下运行多个都需要大量消耗CPU资源的线程,那么多个线程会由于抢占CPU而消耗大量资源。反而影响程序的运行。 每个进程由操作系统自动创建一个主线程。一个进程中的所有线程都在该进程的虚拟地址空间中,共同使用这些虚拟地址空间、全局变量和系统资源。所以线程间的通讯非常方便。 线程函数必须是全局函数 一个简单示例 UINT...
-
8.23 MFC定时器
定时器不是通过开启单独的线程执行的,而是操作系统的消息获取分发机制,不断的在时间值到达之后去执行定时器中的任务。其实是主线程一直在定时触发定时器,调用定时器。也许这样表达不对,但是这样却让我理解。 如果定时器阻塞,则是主程序被阻塞掉,主程序则无法再继续运行下去。即:定时器不是多
-
MFC中创建多线程
FC中有两类线程,分别称之为工作线程和用户界面线程。工作线程没有消息机制,通常用来执行后台计算和维护任务,如冗长的计算过程,打印机的后台打印等;用户界面线程有自己的消息机制,一般用于处理独立于其他线程执行之外的用户输入,响应用户及系统所产生的事件和消息等。本文主要讲述如何在MFC中创建工作线程。 创建工作线程分为三步:1.线程函数的声明;2.线程函数的实现;3.创建(启动)线程 线...
-
基于VC6.0的MFC应用程序开发中的一…
---------------------------------------代码每天都要敲,总结每次都要写------------------------------------距离上一次奋力写代码已过了一星期,期间经过了二级考试,感觉并无收获。并且我认为C++跟C的关系不是太大,C++很好的人C不一定很好。上一次做了一个数据库测试的软件,因为知识的匮乏,过程中出现各种bug,好在一步一步解决了...
-
基于线程的二维刀削程序
执行车削 执行退刀 工程:mutiThread 程序:mutiThreadDlg.h typedef struct property{ HWND hwnd; int speed; int X; int Y; int QuitX; int QuitY; CRect rect; }CuttingInfo ,*LPINFO; UINT toolMove(LPVOID lpparameter);
-
VC6.0上基于MFC的应用开发软件架构3
² MFC简介:MFC是一个应用程序框架,专门为微软的Windows操作系统创建应用程序而设计。MFC使用抽象、封装、继承、多态性和模块化的面相对象原则,在逻辑上将Windows API分类: 通用类、Windows API类、应用程序框架类以及高层抽象等。下面将这几个分类展开介绍: ü 通用类:提供类似字符串处理的类、集合类和异常类; ü Windows API类:封装了所有的Windows...
-
Visual C++线程同步技术剖析
Visual C++线程同步技术剖析 使线程同步 在程序中使用多线程时,一般很少有多个线程能在其生命期内进行完全独立的操作。更多的情况是一些线程进行某些处理操作,而其他的线程必须对其处理结果进行了解。正常情况下对这种处理结果的了解应当在其处理任务完成后进行。 如果不采取适当的措施,其他线程往往会在线程处理任务结束前就去访问处理结果,这就很有可能得到有关处理结果的错误了解。例如,多个线程同时
-
MFC 线程编程
原文地址线程简介我们知道一般情况程序中的代码都是按顺序从头开始一行一行的执行以最后.中间不能出现同时执行的情况.比如一段代码调用两个函数FunOne();FunTwo(); 只要当函数FunOne中的代码执行完才返回来执行FunTwo.假如逻辑上是有先后顺序那还真只能这样按顺序执行下来.不过有假如FunOne与FunTwo没有逻辑先后顺序,是相互独立的.比如两个函数分别处理两不同的文件one.tex
-
PeekMessage完美解决MFC主界面无响应
一般主界面无响应的解决方案是,对于计算量过大的方法,另开工作者线程,如下: MFC支持两种线程:用户界面线程和工作者线程。 (1)用户界面线程:通常用于处理用户输入,响应由用户产生的事件和消息。用户界面线程通常有窗口,有自己的消息循环。CWinApp是一个用户界面线程对象的例子,因为它是从CWinThread派生出来的,而且要处理用户产生的事件和消息。...
15 楼 hpgood 2008-10-04 01:45
14 楼 kenken0y 2008-09-22 12:53
13 楼 lococode 2008-09-18 09:18
T5的最新版本中,模板也叫AddMemberPage.tml了~~
12 楼 Allen 2008-09-17 08:44
11 楼 hantsy 2008-09-16 23:44
10 楼 hantsy 2008-09-16 23:43
老外写的是处在开发中的wicket 1.4 与t5的比较。
9 楼 congpeixue 2008-09-16 19:41
8 楼 rwx7699 2008-09-16 18:38
7 楼 jwsh1984 2008-09-16 17:45
6 楼 rockjava 2008-09-16 17:31
用JSF做过几个项目,但和基于action框架相比,觉得还是不够灵活。
分别用Tapestry5和Wicket做了demo感觉要比JSF好些,但还是很期待
JSF2.0
5 楼 Ghostbb 2008-09-16 16:58
4 楼 hetylei 2008-09-16 16:52
3 楼 hanting99 2008-09-16 16:32
2 楼 fight_bird 2008-09-16 16:20
1 楼 tapestry 2008-09-16 15:49