《Win32多线程程序设计》学习笔记---(1)

原创 2007年09月17日 16:13:00

        最近开始看《Win32多线程程序设计》 ,感觉受益匪浅,写出来的目的有两个;一是想看看自己理解的程度,能否总结出作者真正想表达的内容。2是与大家共享。好了,废话就不说那么多了!

文章开始讲述了操作系统的演化,作者从早期的MS-DOS1.0版本单任务系统到2.x的可以允许常驻程序(TSR),但是MS-DOS视其为自己的一部分,不是一个应用程序或是一个进程。随后提及到了拥有合作型多任务及抢占式多任务机制的WINDOWS的不同版本!
FAQ01:合作型多任务与抢占式多任务有什么不同--------- 合作型多任务的意思就是说分享CPU是程序的责任,而不是系统的责任,如果有一个程序决定咬住CPU不放,其他程序就没有办法得到执行。抢占式多任务的意思就是操作系统能够强迫应用程序把CPU分享给其他人,程序员不需要额外的努力!
下面介绍2个概念,让我们对进程与线程有一个大体的了解:
进程---Win32的角度看,进程含有内存和资源。资源包括核心对象(如file handles和线程),USER资源(如对话框和字符串),GDI资源等。进程本身不可以执行,他只是提供一个安置内存和线程的地方。
内存------- 每一个进程都关系到内存。大致分为3 Code  Data  Stack .
Code--- 程序的可执行部分,一定是只读性质。这是CPU唯一可以执行的内存。Data是你的程序中所有变量,可以区分为全局变量和静态变量两种。也可以使用mallocnew动态配置内存。Stack是你调用函数时所用的堆栈空间,其中有局部变量。每个线程产生时配有一个堆栈。如果不需要,操作系统会将其动态扩充。所有的内存对进程中的线程都是可用的

Win32多线程程序设计

Win32多线程程序设计”多线程多任务“是程序开发者和用户都需要的一个重要资产。从WindowsNT开始,完全支持32位程序的抢占式多任务。带领我们进入了”多线程多任务“时代。基本概念 进程(pro...
  • chenjintaoxp
  • chenjintaoxp
  • 2015年07月31日 16:04
  • 1262

《win32多线程程序设计》学习笔记一

一、win32基础  1、进程   1)、从win32角度来看,进程含有内存和资源。被进程拥有的资源,理论上可高达2GB。资源包括核心对象,UESR资源,GDI资源。   2)、进程本身并不能够...
  • Explorer_day
  • Explorer_day
  • 2017年03月07日 19:21
  • 329

《win32多线程程序设计》学习笔记三

一、Busy Waiting 1、绝对不要再win32中使用Busy Loop 二、性能呢监视器(略) 三、等待一个线程结束 1、Win32提供函数WaitForSingleObject(),...
  • Explorer_day
  • Explorer_day
  • 2017年03月11日 12:27
  • 417

Win32多线程程序设计学习笔记 1

1.1创建多线程的函数HANDLE CreateThread( LPSECURITY_ATTRIBUTES lpThreadAttributes, //新线程的Security属性,NULL表示缺省D...
  • peterpans
  • peterpans
  • 2006年04月23日 18:42
  • 610

深入浅出Win32多线程程序设计

引言 从单进程单线程到多进程多线程是操作系统发展的一种必然趋势,当年的DOS系统属于单任务操作系统,最优秀的成员员也只能通过驻留内存的方式实现所谓的“多任务”,而如今的Win32操作系统却可以一边听...
  • htt9931
  • htt9931
  • 2014年02月10日 09:59
  • 1323

《win32多线程程序设计》学习笔记四

一、Critical Sections
  • Explorer_day
  • Explorer_day
  • 2017年03月23日 22:27
  • 490

学习笔记 -- Win32 多线程程序设计

创建一个线程使用如下API HANDLE WINAPI CreateThread(   _In_opt_  LPSECURITY_ATTRIBUTES  lpThreadAttributes, ...
  • duoluoxia
  • duoluoxia
  • 2017年08月12日 11:42
  • 170

WIN32多线程程序设计学习笔记

WIN32多线程程序设计学习笔记(第二章)  《WIN32多线程程序设计》这本书也看了好多遍,但总是觉得印象不深;我想是不是应该做做笔记,一来可以加深一下印象。二也在可以在用时方便查阅。J 首先,我觉...
  • code09
  • code09
  • 2009年03月11日 09:24
  • 1000

windows程序设计学习笔记--多任务和多线程

windows中的数据传输:剪切板,动态数据交换,对象链接和嵌入。非抢占式多任务,指 处理完一个消息才处理下一个消息。 帮助解决非抢占式多任务局限方式: 1.设置鼠标图标状态。 2.Win...
  • x13262608581
  • x13262608581
  • 2016年07月23日 11:03
  • 567

Win32多线程程序设计(侯捷翻译) 学习笔记1

最近实验室的项目需要用到多线程,一般书上面的都是浅尝辄止,不够深入,并且项目是在evc上开发的,必须用到win32API中的函数,找到了这本书来学学基础知识.原子操作:一个操作如果能够不受中断的完成,...
  • zwf0713
  • zwf0713
  • 2007年12月07日 18:16
  • 926
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:《Win32多线程程序设计》学习笔记---(1)
举报原因:
原因补充:

(最多只允许输入30个字)