多进程与多线程
文章平均质量分 83
fairy_study
这个作者很懒,什么都没留下…
展开
-
深入浅出Win32多线程设计之MFC的多线程-进程间通信
2.线程间通信 MFC中定义了继承自CSyncObject类的CCriticalSection 、CCEvent、CMutex、CSemaphore类封装和简化了WIN32 API所提供的临界区、事件、互斥和信号量。使用这些同步机制,必须包含"Afxmt.h"头文件。下图给出了类的继承关系: 作为CSyncObject类的继承类,我们仅仅使用基类CSyn原创 2010-05-16 00:23:00 · 712 阅读 · 0 评论 -
深入浅出Win32多线程设计之MFC的多线程
1、创建和终止线程 在MFC程序中创建一个线程,宜调用AfxBeginThread函数。该函数因参数不同而具有两种重载版本,分别对应工作者线程和用户接口(UI)线程。 工作者线程CWinThread *AfxBeginThread( AFX_THREADPROC pfnThreadProc, //控制函数 LPVOID pParam, //传递给控制函数的参数原创 2010-05-16 00:25:00 · 354 阅读 · 0 评论 -
VC 线程间通信的三种方式
VC 线程间通信的三种方式 1.使用全局变量(窗体不适用) 实现线程间通信的方法有很多,常用的主要是通过全局变量、自定义消息和事件对象等来实现的。其中又以对全局变量的使用最为简洁。该方法将全局变量作为线程监视的对象,并通过在主线程对此变量值的改变而实现对子线程的控制。 由于这里的全局变量需要在使用它的线程之外对其值进行改变,这就需要通过volatile关键字对此变量进原创 2010-05-15 23:56:00 · 3734 阅读 · 0 评论 -
深入浅出Win32多线程设计之MFC的多线程-线程与消息队列
3.线程与消息队列 在WIN32中,每一个线程都对应着一个消息队列。由于一个线程可以产生数个窗口,所以并不是每个窗口都对应着一个消息队列。下列几句话应该作为"定理"被记住: "定理" 一 所有产生给某个窗口的消息,都先由创建这个窗口的线程处理; "定理" 二 Windows屏幕上的每一个控件都是一个窗口,有对应的窗口函数。 消息的发送通常有两种方式,一是SendMe原创 2010-05-16 00:17:00 · 2198 阅读 · 1 评论 -
实时多线程系统的日志实现(一)
没有任何软件是完全没有错误的,在程序的运行期间,应用程序用户可能会碰到意想不到的结果。要分析并找出导致这些问题的原因,程序员所广泛使用的一种方法就是日志记录。在本文中,您将了解如何使用循环缓冲区通过内存操作(而不是文件操作)高效地进行日志记录。为该缓冲区选择合适的大小,从而确保转储相关的消息,这将在调试时很有帮助。引言“如果有两种方式可以编写出没有错误的程序,那么只有第三种方式是有效的转载 2010-05-19 10:00:00 · 1833 阅读 · 0 评论 -
实时多线程系统的日志实现(二)
为了分析软件系统在测试和运行期产生的故障,目前大多数软件系统所广泛使用的一种方法就是日志记录。但系统在保存日志时需要大量的磁盘 I/O操作,同时由于多线程并发互斥访问文件系统可能造成的阻塞,会引起实时软件系统的性能下降,严重时造成整个系统停止响应。本文给出了利用循环缓冲区和单独的日志读写线程实现实时系统的日志功能。 “如果有两种方式可以编写出没有错误的程序,那么只有第三种方式是有转载 2010-05-19 09:44:00 · 724 阅读 · 0 评论