benny5609的专栏

人生,到世上走一遭,只不过是单纯的体验与学习认识,当我们在临死的时候,可以光荣地对自己说:"我已领略过"便不枉此生。...

使用PostThreadMessage在Win32线程间传递消息

PostThreadMessage的原型是这样的BOOL PostThreadMessage( DWORD idThread,    UINT Msg,    WPARAM wParam,    LPARAM lParam);PostThreadMessage可以用于线程之间的异步通讯,因为它不用...

2007-12-06 22:48:00

阅读数:932

评论数:0

什么才是多线程安全的

对于多线程编程,很多人概念不清,写代码的时候要么是处处加锁,影响性能不说,还容易莫名其妙的死锁,还有人对多线程敬而远之。所以学习多线程编程最重要的不是学习API,而是理解什么才是多线程安全的代码从例子说起#include windows.h>#include process.h>lon...

2007-12-06 22:47:00

阅读数:895

评论数:0

WIN32多线程程序设计学习笔记(第六章 下)

继续。。。上面的程序片段使用WaitForMultipleObjects函数来等待,会有两个问题:第一、     只能等待小于64个的对象,这是WaitForMultipleObjects函数本身所带来的限制。第二、     你必须不断根据“哪一个handle被激发”而计算如何处理。那个这个程序的...

2007-09-17 20:11:00

阅读数:643

评论数:0

WIN32多线程程序设计学习笔记(第六章 上)

我们知道当程序调用I/O设备处理一些事情时,让主程序停下来干等I/O的完成是没有效率的。对这个问题有下面几种解决方法:方法一:使用另一个线程进行I/O。但从以前的学习中也知道,协调线程间的关系是一件麻烦的事情,需要小心的设计;所以这个方案可行,但是麻烦。方法二:使用overlapped I/O。正...

2007-09-17 20:10:00

阅读数:731

评论数:0

WIN32多线程程序设计学习笔记(第四章 下 第五章)

终于又看>了;开卷有益,今天看了第四章后半部分,感觉颇有收获;以前对EVENT这个核心对象,用起来总是心中没底,看了EVENT的介绍也是似懂非懂的。哈!今天看了以后,真有神助,我觉得应该是搞懂了(自以为事J)。仔细想想,应该是记笔记的功劳,用脑筋写过的东西还真是不容易忘记咧!!!不但印象深刻...

2007-09-17 20:09:00

阅读数:712

评论数:0

WIN32多线程程序设计学习笔记(第四章 上)

WIN32多线程程序设计学习笔记(第四章 上) 到目前为止,我已经知道如何创建线程,销毁线程及如何判断一个线程是否结束了;但运用线程,管理线程,如何使线程按自己意愿正确运行才是多线程程序设计的重点及难点。 大家知道,线程具有并发性,在同一时间段会存在多个线程,当这些线程同时存取同一数据时,就会有问...

2007-09-17 20:06:00

阅读数:690

评论数:0

WIN32多线程程序设计学习笔记(第三章)

通过在上一章的学习,我学会使用GetExitCodeThread()这个函数来判断一个线程是否还在执行。通过这个函数,我就可以对付“某个线程必须在某个线程结束后才能运行”的情况。复习一下:程序片段:              for ( ; ; )              {          ...

2007-09-17 20:05:00

阅读数:615

评论数:0

WIN32多线程程序设计学习笔记(第二章)

WIN32多线程程序设计学习笔记(第二章) 《WIN32多线程程序设计》这本书也看了好多遍,但总是觉得印象不深;我想是不是应该做做笔记,一来可以加深一下印象。二也在可以在用时方便查阅。J 首先,我觉得线程一点都不难(这样的心理暗示会使我觉得学的轻松一些);why? 与调用函数的过程类似;线程只不过...

2007-09-17 20:04:00

阅读数:730

评论数:0

《Win32多线程程序设计》学习笔记(一)—— 线程初步认识

产生一个新线程,是以CreateThread开始的。HANDLE CreateThread(  LPSECURITY_ATTRIBUTES lpThreadAttributes,  // pointer to security attributes  DWORD dwStackSize,     ...

2007-09-17 20:03:00

阅读数:763

评论数:0

Windows多线程多任务设计初步

前言:]当前流行的Windows操作系统,它能同时运行几个程序(独立运行的程序又称之为进程),对于同一个程序,它又可以分成若干个独立的执行流,我们称之为线程,线程提供了多任务处理的能力。用进程和线程的观点来研究软件是当今普遍采用的方法,进程和线程的概念的出现,对提高软件的并行性有着重要的意义。现在...

2007-09-17 19:50:00

阅读数:704

评论数:0

多线程基本1

Critical   section(临界区)用来实现“排他性占有”。适合范围是单一进程的各线程之间。它是:     1,一个局部性对象,不是一个核心对象。     2,快速而有效率。     3,不能够同时有一个以上的critical   seciton被等待。     4,无法侦测是否被某个线...

2007-09-17 19:01:00

阅读数:567

评论数:0

VC中多线程编程

一、问题的提出编写一个耗时的单线程程序:  新建一个基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下: void CSingleThr...

2007-09-17 18:57:00

阅读数:775

评论数:0

多任务、进程和线程

 Windows是一个多任务操作系统。传统的Windows 3.x只能依靠应用程序之间的协同来实现协同式多任务,而Windows 95/NT实行的是抢先式多任务。  在Win 32(95/NT)中,每一个进程可以同时执行多个线程,这意味着一个程序可以同时完成多个任务。对于象通信程序这样既要进行耗时...

2007-09-17 16:48:00

阅读数:2756

评论数:0

WINDOWS核心编程之进程(二)

1.进程的实例句柄加载到进程地址空间的每个可执行文件或DLL文件均被产生一个唯一的实例句柄,就是hinstExe参数.有些这个参数的类型为HMODULE类型,注意:这两个类型是完全相同的对象。原因在于16位的Windows中,HMODULE和HINSTANCE用于标识不同的东西。 当你在vc的环境...

2007-09-16 10:18:00

阅读数:839

评论数:0

WINDOWS核心编程之进程(一)

从今天开始说说进程 进程通常被定义为一人正在运行的程序的实例,它由两个部分组成:1.       一个是操作系统用来管理进程的内核对象,内核对象也是系统用来存放关于进程的统计信息的地方。2.       另一个是地址空间,它包含所有可执行模块或DLL模块的代码和数据。它还包含动态内存分配的空间。如...

2007-09-16 10:16:00

阅读数:737

评论数:0

Windows平台下的多线程编程

线程是进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等。一个进程内的所有线程使用同一个地址空间,而这些线程的执行由系统调度程序控制,调度程序决定哪个线程可执行以及什么时候执行线程。线程有优先级别,优先权较低的线程必须等到...

2007-09-16 09:40:00

阅读数:633

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭